trenni 3.7.1 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/bake/trenni/entities.rb +57 -0
  3. data/bake/trenni/parsers.rb +66 -0
  4. data/ext/Rakefile +1 -0
  5. data/ext/tmp/x86_64-linux/lib/trenni/trenni.so +0 -0
  6. data/ext/tmp/x86_64-linux/trenni/2.4.0/Makefile +263 -0
  7. data/ext/tmp/x86_64-linux/trenni/2.4.0/escape.o +0 -0
  8. data/ext/tmp/x86_64-linux/trenni/2.4.0/markup.o +0 -0
  9. data/ext/tmp/x86_64-linux/trenni/2.4.0/mkmf.log +108 -0
  10. data/ext/tmp/x86_64-linux/trenni/2.4.0/tag.o +0 -0
  11. data/ext/tmp/x86_64-linux/trenni/2.4.0/template.o +0 -0
  12. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.o +0 -0
  13. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.so +0 -0
  14. data/ext/tmp/x86_64-linux/trenni/2.7.0/Makefile +266 -0
  15. data/ext/tmp/x86_64-linux/trenni/2.7.0/escape.o +0 -0
  16. data/ext/tmp/x86_64-linux/trenni/2.7.0/markup.o +0 -0
  17. data/ext/tmp/x86_64-linux/trenni/2.7.0/mkmf.log +113 -0
  18. data/ext/tmp/x86_64-linux/trenni/2.7.0/query.o +0 -0
  19. data/ext/tmp/x86_64-linux/trenni/2.7.0/tag.o +0 -0
  20. data/ext/tmp/x86_64-linux/trenni/2.7.0/template.o +0 -0
  21. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.o +0 -0
  22. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.so +0 -0
  23. data/ext/tmp/x86_64-linux/trenni/2.7.1/Makefile +266 -0
  24. data/ext/tmp/x86_64-linux/trenni/2.7.1/escape.o +0 -0
  25. data/ext/tmp/x86_64-linux/trenni/2.7.1/markup.o +0 -0
  26. data/ext/tmp/x86_64-linux/trenni/2.7.1/mkmf.log +113 -0
  27. data/ext/tmp/x86_64-linux/trenni/2.7.1/query.o +0 -0
  28. data/ext/tmp/x86_64-linux/trenni/2.7.1/tag.o +0 -0
  29. data/ext/tmp/x86_64-linux/trenni/2.7.1/template.o +0 -0
  30. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.o +0 -0
  31. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.so +0 -0
  32. data/ext/trenni/extconf.rb +1 -0
  33. data/ext/trenni/markup.c +85 -85
  34. data/ext/trenni/markup.rl +11 -11
  35. data/ext/trenni/query.c +619 -0
  36. data/ext/trenni/query.h +6 -0
  37. data/ext/trenni/query.rl +82 -0
  38. data/ext/trenni/tag.c +8 -6
  39. data/ext/trenni/template.c +57 -57
  40. data/ext/trenni/template.rl +4 -4
  41. data/ext/trenni/trenni.c +9 -1
  42. data/ext/trenni/trenni.h +8 -3
  43. data/lib/trenni.rb +4 -0
  44. data/lib/trenni/buffer.rb +2 -0
  45. data/lib/trenni/builder.rb +64 -12
  46. data/lib/trenni/entities.rb +2082 -2082
  47. data/lib/trenni/entities.trenni +1 -3
  48. data/lib/trenni/{parse_error.rb → error.rb} +6 -1
  49. data/lib/trenni/fallback/markup.rb +1623 -1575
  50. data/lib/trenni/fallback/markup.rl +3 -2
  51. data/lib/trenni/fallback/markup.rl.dot +278 -0
  52. data/lib/trenni/fallback/markup.rl.pdf +0 -0
  53. data/lib/trenni/fallback/query.rb +565 -0
  54. data/lib/trenni/fallback/query.rl +105 -0
  55. data/lib/trenni/fallback/query.rl.dot +54 -0
  56. data/lib/trenni/fallback/query.rl.pdf +0 -0
  57. data/lib/trenni/fallback/template.rb +756 -747
  58. data/lib/trenni/fallback/template.rl +1 -1
  59. data/lib/trenni/fallback/template.rl.dot +270 -0
  60. data/lib/trenni/fallback/template.rl.pdf +0 -0
  61. data/lib/trenni/markup.rb +2 -0
  62. data/lib/trenni/native.rb +3 -1
  63. data/lib/trenni/parse_delegate.rb +2 -0
  64. data/lib/trenni/parsers.rb +2 -0
  65. data/lib/trenni/query.rb +94 -0
  66. data/lib/trenni/reference.rb +125 -0
  67. data/lib/trenni/strings.rb +17 -4
  68. data/lib/trenni/tag.rb +2 -0
  69. data/lib/trenni/template.rb +25 -22
  70. data/lib/trenni/trenni.so +0 -0
  71. data/lib/trenni/uri.rb +3 -0
  72. data/lib/trenni/version.rb +3 -1
  73. data/parsers/trenni/query.rl +23 -0
  74. data/spec/spec_helper.rb +1 -0
  75. data/spec/trenni/builder_spec.rb +14 -1
  76. data/spec/trenni/corpus/large.rb +2 -0
  77. data/spec/trenni/markup_parser_spec.rb +1 -0
  78. data/spec/trenni/markup_performance_spec.rb +15 -2
  79. data/spec/trenni/markup_spec.rb +1 -0
  80. data/spec/trenni/parsers_performance_spec.rb +32 -0
  81. data/spec/trenni/query_spec.rb +51 -0
  82. data/spec/trenni/reference_spec.rb +87 -0
  83. data/spec/trenni/strings_spec.rb +1 -0
  84. data/spec/trenni/tag_spec.rb +2 -0
  85. data/spec/trenni/template_error_spec.rb +1 -0
  86. data/spec/trenni/template_performance_spec.rb +1 -0
  87. data/spec/trenni/template_spec.rb +1 -0
  88. data/spec/trenni/template_spec/builder.trenni +2 -2
  89. data/spec/trenni/uri_spec.rb +1 -0
  90. metadata +95 -62
  91. data/.gitignore +0 -19
  92. data/.rspec +0 -5
  93. data/.simplecov +0 -9
  94. data/.travis.yml +0 -23
  95. data/Gemfile +0 -20
  96. data/README.md +0 -312
  97. data/Rakefile +0 -19
  98. data/benchmark/call_vs_yield.rb +0 -51
  99. data/benchmark/interpolation_vs_concat.rb +0 -29
  100. data/benchmark/io_vs_string.rb +0 -90
  101. data/entities.json +0 -2233
  102. data/tasks/entities.rake +0 -33
  103. data/tasks/parsers.rake +0 -43
  104. data/trenni.gemspec +0 -33
@@ -0,0 +1,113 @@
1
+ have_func: checking for rb_sym2str()... -------------------- yes
2
+
3
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
4
+ checked program was:
5
+ /* begin */
6
+ 1: #include "ruby.h"
7
+ 2:
8
+ 3: int main(int argc, char **argv)
9
+ 4: {
10
+ 5: return !!argv[argc];
11
+ 6: }
12
+ /* end */
13
+
14
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
15
+ checked program was:
16
+ /* begin */
17
+ 1: #include "ruby.h"
18
+ 2:
19
+ 3: /*top*/
20
+ 4: extern int t(void);
21
+ 5: int main(int argc, char **argv)
22
+ 6: {
23
+ 7: if (argc > 1000000) {
24
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
25
+ 9: printf("%d", (*tp)());
26
+ 10: }
27
+ 11:
28
+ 12: return !!argv[argc];
29
+ 13: }
30
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_sym2str; return !p; }
31
+ /* end */
32
+
33
+ --------------------
34
+
35
+ have_func: checking for rb_str_cat_cstr()... -------------------- yes
36
+
37
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
38
+ checked program was:
39
+ /* begin */
40
+ 1: #include "ruby.h"
41
+ 2:
42
+ 3: /*top*/
43
+ 4: extern int t(void);
44
+ 5: int main(int argc, char **argv)
45
+ 6: {
46
+ 7: if (argc > 1000000) {
47
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
48
+ 9: printf("%d", (*tp)());
49
+ 10: }
50
+ 11:
51
+ 12: return !!argv[argc];
52
+ 13: }
53
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_cat_cstr; return !p; }
54
+ /* end */
55
+
56
+ --------------------
57
+
58
+ have_func: checking for rb_str_reserve()... -------------------- no
59
+
60
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
61
+ conftest.c: In function ‘t’:
62
+ conftest.c:14:57: error: ‘rb_str_reserve’ undeclared (first use in this function); did you mean ‘rb_str_resize’?
63
+ 14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
64
+ | ^~~~~~~~~~~~~~
65
+ | rb_str_resize
66
+ conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
67
+ conftest.c: At top level:
68
+ cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
69
+ cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
70
+ cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
71
+ checked program was:
72
+ /* begin */
73
+ 1: #include "ruby.h"
74
+ 2:
75
+ 3: /*top*/
76
+ 4: extern int t(void);
77
+ 5: int main(int argc, char **argv)
78
+ 6: {
79
+ 7: if (argc > 1000000) {
80
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
81
+ 9: printf("%d", (*tp)());
82
+ 10: }
83
+ 11:
84
+ 12: return !!argv[argc];
85
+ 13: }
86
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
87
+ /* end */
88
+
89
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
90
+ /usr/bin/ld: /tmp/cc913emt.o: in function `t':
91
+ /home/samuel/Documents/ioquatix/trenni/ext/tmp/x86_64-linux/trenni/2.7.1/conftest.c:15: undefined reference to `rb_str_reserve'
92
+ collect2: error: ld returned 1 exit status
93
+ checked program was:
94
+ /* begin */
95
+ 1: #include "ruby.h"
96
+ 2:
97
+ 3: /*top*/
98
+ 4: extern int t(void);
99
+ 5: int main(int argc, char **argv)
100
+ 6: {
101
+ 7: if (argc > 1000000) {
102
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
103
+ 9: printf("%d", (*tp)());
104
+ 10: }
105
+ 11:
106
+ 12: return !!argv[argc];
107
+ 13: }
108
+ 14: extern void rb_str_reserve();
109
+ 15: int t(void) { rb_str_reserve(); return 0; }
110
+ /* end */
111
+
112
+ --------------------
113
+
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  # Loads mkmf which is used to make makefiles for Ruby extensions
3
4
  require 'mkmf'
@@ -29,7 +29,7 @@ VALUE Trenni_Native_parse_markup(VALUE self, VALUE buffer, VALUE delegate, VALUE
29
29
  unsigned long cs, top = 0, stack[2] = {0};
30
30
  unsigned long codepoint = 0;
31
31
 
32
- Token identifier = {0}, cdata = {0}, characters = {0}, entity = {0}, doctype = {0}, comment = {0}, instruction = {0};
32
+ Trenni_Token identifier = {0}, cdata = {0}, characters = {0}, entity = {0}, doctype = {0}, comment = {0}, instruction = {0};
33
33
  unsigned self_closing = 0, has_value = 0, has_entities = 0;
34
34
 
35
35
  s = p = RSTRING_PTR(string);
@@ -168,7 +168,7 @@ tr99:
168
168
  {
169
169
  comment.end = p;
170
170
 
171
- rb_funcall(delegate, id_comment, 1, Trenni_token(comment, encoding));
171
+ rb_funcall(delegate, id_comment, 1, Trenni_Token_string(comment, encoding));
172
172
  }
173
173
  #line 24 "markup.rl"
174
174
  {
@@ -188,7 +188,7 @@ tr102:
188
188
  {
189
189
  doctype.end = p;
190
190
 
191
- rb_funcall(delegate, id_doctype, 1, Trenni_token(doctype, encoding));
191
+ rb_funcall(delegate, id_doctype, 1, Trenni_Token_string(doctype, encoding));
192
192
  }
193
193
  #line 24 "markup.rl"
194
194
  {
@@ -208,7 +208,7 @@ tr105:
208
208
  {
209
209
  cdata.end = p;
210
210
 
211
- rb_funcall(delegate, id_cdata, 1, Trenni_token(cdata, encoding));
211
+ rb_funcall(delegate, id_cdata, 1, Trenni_Token_string(cdata, encoding));
212
212
  }
213
213
  #line 24 "markup.rl"
214
214
  {
@@ -226,7 +226,7 @@ tr105:
226
226
  tr108:
227
227
  #line 170 "markup.rl"
228
228
  {
229
- rb_funcall(delegate, id_close_tag, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
229
+ rb_funcall(delegate, id_close_tag, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
230
230
  }
231
231
  #line 24 "markup.rl"
232
232
  {
@@ -246,7 +246,7 @@ tr111:
246
246
  {
247
247
  instruction.end = p;
248
248
 
249
- rb_funcall(delegate, id_instruction, 1, Trenni_token(instruction, encoding));
249
+ rb_funcall(delegate, id_instruction, 1, Trenni_Token_string(instruction, encoding));
250
250
  }
251
251
  #line 24 "markup.rl"
252
252
  {
@@ -278,12 +278,12 @@ tr91:
278
278
 
279
279
  Trenni_append_token(&pcdata, encoding, characters);
280
280
  }
281
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
282
- {{stack[top++] = 50; goto st42;}}
281
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
282
+ {{stack[top++] = 50;goto st42;}}
283
283
  goto st50;
284
284
  tr94:
285
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
286
- {{stack[top++] = 50; goto st42;}}
285
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
286
+ {{stack[top++] = 50;goto st42;}}
287
287
  goto st50;
288
288
  tr88:
289
289
  #line 24 "markup.rl"
@@ -294,8 +294,8 @@ tr88:
294
294
  pcdata = Qnil;
295
295
  has_entities = 0;
296
296
  }
297
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
298
- {{stack[top++] = 50; goto st42;}}
297
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
298
+ {{stack[top++] = 50;goto st42;}}
299
299
  goto st50;
300
300
  tr97:
301
301
  #line 163 "markup.rl"
@@ -310,15 +310,15 @@ tr97:
310
310
  pcdata = Qnil;
311
311
  has_entities = 0;
312
312
  }
313
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
314
- {{stack[top++] = 50; goto st42;}}
313
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
314
+ {{stack[top++] = 50;goto st42;}}
315
315
  goto st50;
316
316
  tr100:
317
317
  #line 97 "markup.rl"
318
318
  {
319
319
  comment.end = p;
320
320
 
321
- rb_funcall(delegate, id_comment, 1, Trenni_token(comment, encoding));
321
+ rb_funcall(delegate, id_comment, 1, Trenni_Token_string(comment, encoding));
322
322
  }
323
323
  #line 24 "markup.rl"
324
324
  {
@@ -328,15 +328,15 @@ tr100:
328
328
  pcdata = Qnil;
329
329
  has_entities = 0;
330
330
  }
331
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
332
- {{stack[top++] = 50; goto st42;}}
331
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
332
+ {{stack[top++] = 50;goto st42;}}
333
333
  goto st50;
334
334
  tr103:
335
335
  #line 83 "markup.rl"
336
336
  {
337
337
  doctype.end = p;
338
338
 
339
- rb_funcall(delegate, id_doctype, 1, Trenni_token(doctype, encoding));
339
+ rb_funcall(delegate, id_doctype, 1, Trenni_Token_string(doctype, encoding));
340
340
  }
341
341
  #line 24 "markup.rl"
342
342
  {
@@ -346,15 +346,15 @@ tr103:
346
346
  pcdata = Qnil;
347
347
  has_entities = 0;
348
348
  }
349
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
350
- {{stack[top++] = 50; goto st42;}}
349
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
350
+ {{stack[top++] = 50;goto st42;}}
351
351
  goto st50;
352
352
  tr106:
353
353
  #line 182 "markup.rl"
354
354
  {
355
355
  cdata.end = p;
356
356
 
357
- rb_funcall(delegate, id_cdata, 1, Trenni_token(cdata, encoding));
357
+ rb_funcall(delegate, id_cdata, 1, Trenni_Token_string(cdata, encoding));
358
358
  }
359
359
  #line 24 "markup.rl"
360
360
  {
@@ -364,13 +364,13 @@ tr106:
364
364
  pcdata = Qnil;
365
365
  has_entities = 0;
366
366
  }
367
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
368
- {{stack[top++] = 50; goto st42;}}
367
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
368
+ {{stack[top++] = 50;goto st42;}}
369
369
  goto st50;
370
370
  tr109:
371
371
  #line 170 "markup.rl"
372
372
  {
373
- rb_funcall(delegate, id_close_tag, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
373
+ rb_funcall(delegate, id_close_tag, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
374
374
  }
375
375
  #line 24 "markup.rl"
376
376
  {
@@ -380,15 +380,15 @@ tr109:
380
380
  pcdata = Qnil;
381
381
  has_entities = 0;
382
382
  }
383
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
384
- {{stack[top++] = 50; goto st42;}}
383
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
384
+ {{stack[top++] = 50;goto st42;}}
385
385
  goto st50;
386
386
  tr112:
387
387
  #line 117 "markup.rl"
388
388
  {
389
389
  instruction.end = p;
390
390
 
391
- rb_funcall(delegate, id_instruction, 1, Trenni_token(instruction, encoding));
391
+ rb_funcall(delegate, id_instruction, 1, Trenni_Token_string(instruction, encoding));
392
392
  }
393
393
  #line 24 "markup.rl"
394
394
  {
@@ -398,8 +398,8 @@ tr112:
398
398
  pcdata = Qnil;
399
399
  has_entities = 0;
400
400
  }
401
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
402
- {{stack[top++] = 50; goto st42;}}
401
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
402
+ {{stack[top++] = 50;goto st42;}}
403
403
  goto st50;
404
404
  st50:
405
405
  if ( ++p == pe )
@@ -536,7 +536,7 @@ tr101:
536
536
  {
537
537
  comment.end = p;
538
538
 
539
- rb_funcall(delegate, id_comment, 1, Trenni_token(comment, encoding));
539
+ rb_funcall(delegate, id_comment, 1, Trenni_Token_string(comment, encoding));
540
540
  }
541
541
  #line 134 "markup.rl"
542
542
  {
@@ -566,7 +566,7 @@ tr104:
566
566
  {
567
567
  doctype.end = p;
568
568
 
569
- rb_funcall(delegate, id_doctype, 1, Trenni_token(doctype, encoding));
569
+ rb_funcall(delegate, id_doctype, 1, Trenni_Token_string(doctype, encoding));
570
570
  }
571
571
  #line 134 "markup.rl"
572
572
  {
@@ -596,7 +596,7 @@ tr107:
596
596
  {
597
597
  cdata.end = p;
598
598
 
599
- rb_funcall(delegate, id_cdata, 1, Trenni_token(cdata, encoding));
599
+ rb_funcall(delegate, id_cdata, 1, Trenni_Token_string(cdata, encoding));
600
600
  }
601
601
  #line 134 "markup.rl"
602
602
  {
@@ -624,7 +624,7 @@ tr107:
624
624
  tr110:
625
625
  #line 170 "markup.rl"
626
626
  {
627
- rb_funcall(delegate, id_close_tag, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
627
+ rb_funcall(delegate, id_close_tag, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
628
628
  }
629
629
  #line 134 "markup.rl"
630
630
  {
@@ -654,7 +654,7 @@ tr113:
654
654
  {
655
655
  instruction.end = p;
656
656
 
657
- rb_funcall(delegate, id_instruction, 1, Trenni_token(instruction, encoding));
657
+ rb_funcall(delegate, id_instruction, 1, Trenni_Token_string(instruction, encoding));
658
658
  }
659
659
  #line 134 "markup.rl"
660
660
  {
@@ -769,7 +769,7 @@ tr6:
769
769
  // Reset self-closing state - we don't know yet.
770
770
  self_closing = 0;
771
771
 
772
- rb_funcall(delegate, id_open_tag_begin, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
772
+ rb_funcall(delegate, id_open_tag_begin, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
773
773
  }
774
774
  goto st3;
775
775
  tr14:
@@ -780,11 +780,11 @@ tr14:
780
780
  #line 153 "markup.rl"
781
781
  {
782
782
  if (has_value == 1) {
783
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
783
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
784
784
  } else if (has_value == 2) {
785
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
785
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
786
786
  } else {
787
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
787
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
788
788
  }
789
789
  }
790
790
  goto st3;
@@ -796,11 +796,11 @@ tr26:
796
796
  #line 153 "markup.rl"
797
797
  {
798
798
  if (has_value == 1) {
799
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
799
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
800
800
  } else if (has_value == 2) {
801
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
801
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
802
802
  } else {
803
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
803
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
804
804
  }
805
805
  }
806
806
  goto st3;
@@ -812,11 +812,11 @@ tr32:
812
812
  #line 153 "markup.rl"
813
813
  {
814
814
  if (has_value == 1) {
815
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
815
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
816
816
  } else if (has_value == 2) {
817
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
817
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
818
818
  } else {
819
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
819
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
820
820
  }
821
821
  }
822
822
  goto st3;
@@ -899,7 +899,7 @@ tr7:
899
899
  // Reset self-closing state - we don't know yet.
900
900
  self_closing = 0;
901
901
 
902
- rb_funcall(delegate, id_open_tag_begin, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
902
+ rb_funcall(delegate, id_open_tag_begin, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
903
903
  }
904
904
  #line 137 "markup.rl"
905
905
  {
@@ -920,11 +920,11 @@ tr15:
920
920
  #line 153 "markup.rl"
921
921
  {
922
922
  if (has_value == 1) {
923
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
923
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
924
924
  } else if (has_value == 2) {
925
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
925
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
926
926
  } else {
927
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
927
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
928
928
  }
929
929
  }
930
930
  #line 137 "markup.rl"
@@ -940,11 +940,11 @@ tr27:
940
940
  #line 153 "markup.rl"
941
941
  {
942
942
  if (has_value == 1) {
943
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
943
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
944
944
  } else if (has_value == 2) {
945
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
945
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
946
946
  } else {
947
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
947
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
948
948
  }
949
949
  }
950
950
  #line 137 "markup.rl"
@@ -960,11 +960,11 @@ tr33:
960
960
  #line 153 "markup.rl"
961
961
  {
962
962
  if (has_value == 1) {
963
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
963
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
964
964
  } else if (has_value == 2) {
965
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
965
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
966
966
  } else {
967
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
967
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
968
968
  }
969
969
  }
970
970
  #line 137 "markup.rl"
@@ -990,7 +990,7 @@ tr8:
990
990
  // Reset self-closing state - we don't know yet.
991
991
  self_closing = 0;
992
992
 
993
- rb_funcall(delegate, id_open_tag_begin, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
993
+ rb_funcall(delegate, id_open_tag_begin, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
994
994
  }
995
995
  goto st51;
996
996
  tr17:
@@ -1001,11 +1001,11 @@ tr17:
1001
1001
  #line 153 "markup.rl"
1002
1002
  {
1003
1003
  if (has_value == 1) {
1004
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1004
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1005
1005
  } else if (has_value == 2) {
1006
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
1006
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
1007
1007
  } else {
1008
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
1008
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
1009
1009
  }
1010
1010
  }
1011
1011
  goto st51;
@@ -1017,11 +1017,11 @@ tr28:
1017
1017
  #line 153 "markup.rl"
1018
1018
  {
1019
1019
  if (has_value == 1) {
1020
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1020
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1021
1021
  } else if (has_value == 2) {
1022
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
1022
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
1023
1023
  } else {
1024
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
1024
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
1025
1025
  }
1026
1026
  }
1027
1027
  goto st51;
@@ -1033,11 +1033,11 @@ tr34:
1033
1033
  #line 153 "markup.rl"
1034
1034
  {
1035
1035
  if (has_value == 1) {
1036
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1036
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Trenni_markup_safe(pcdata, has_entities));
1037
1037
  } else if (has_value == 2) {
1038
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), empty_string);
1038
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
1039
1039
  } else {
1040
- rb_funcall(delegate, id_attribute, 2, Trenni_token(identifier, encoding), Qtrue);
1040
+ rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), Qtrue);
1041
1041
  }
1042
1042
  }
1043
1043
  goto st51;
@@ -1140,8 +1140,8 @@ tr22:
1140
1140
  pcdata = Qnil;
1141
1141
  has_entities = 0;
1142
1142
  }
1143
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1144
- {{stack[top++] = 10; goto st42;}}
1143
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1144
+ {{stack[top++] = 10;goto st42;}}
1145
1145
  goto st10;
1146
1146
  tr25:
1147
1147
  #line 35 "markup.rl"
@@ -1150,12 +1150,12 @@ tr25:
1150
1150
 
1151
1151
  Trenni_append_token(&pcdata, encoding, characters);
1152
1152
  }
1153
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1154
- {{stack[top++] = 10; goto st42;}}
1153
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1154
+ {{stack[top++] = 10;goto st42;}}
1155
1155
  goto st10;
1156
1156
  tr31:
1157
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1158
- {{stack[top++] = 10; goto st42;}}
1157
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1158
+ {{stack[top++] = 10;goto st42;}}
1159
1159
  goto st10;
1160
1160
  st10:
1161
1161
  if ( ++p == pe )
@@ -1224,8 +1224,8 @@ tr36:
1224
1224
  pcdata = Qnil;
1225
1225
  has_entities = 0;
1226
1226
  }
1227
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1228
- {{stack[top++] = 14; goto st42;}}
1227
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1228
+ {{stack[top++] = 14;goto st42;}}
1229
1229
  goto st14;
1230
1230
  tr38:
1231
1231
  #line 35 "markup.rl"
@@ -1234,12 +1234,12 @@ tr38:
1234
1234
 
1235
1235
  Trenni_append_token(&pcdata, encoding, characters);
1236
1236
  }
1237
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1238
- {{stack[top++] = 14; goto st42;}}
1237
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1238
+ {{stack[top++] = 14;goto st42;}}
1239
1239
  goto st14;
1240
1240
  tr40:
1241
- #line 10 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1242
- {{stack[top++] = 14; goto st42;}}
1241
+ #line 10 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1242
+ {{stack[top++] = 14;goto st42;}}
1243
1243
  goto st14;
1244
1244
  st14:
1245
1245
  if ( ++p == pe )
@@ -1643,7 +1643,7 @@ tr81:
1643
1643
 
1644
1644
  Trenni_append_codepoint(&pcdata, encoding, codepoint);
1645
1645
  }
1646
- #line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1646
+ #line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1647
1647
  {{cs = stack[--top];goto _again;}}
1648
1648
  goto st57;
1649
1649
  tr84:
@@ -1657,7 +1657,7 @@ tr84:
1657
1657
 
1658
1658
  Trenni_append_codepoint(&pcdata, encoding, codepoint);
1659
1659
  }
1660
- #line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1660
+ #line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1661
1661
  {{cs = stack[--top];goto _again;}}
1662
1662
  goto st57;
1663
1663
  tr86:
@@ -1668,10 +1668,10 @@ tr86:
1668
1668
  has_entities = 1;
1669
1669
 
1670
1670
  Trenni_append(&pcdata, encoding,
1671
- rb_funcall(entities, id_key_get, 1, Trenni_token(entity, encoding))
1671
+ rb_funcall(entities, id_key_get, 1, Trenni_Token_string(entity, encoding))
1672
1672
  );
1673
1673
  }
1674
- #line 8 "/Users/samuel/Documents/Programming/ioquatix/trenni/parsers/trenni/entities.rl"
1674
+ #line 8 "/home/samuel/Documents/ioquatix/trenni/parsers/trenni/entities.rl"
1675
1675
  {{cs = stack[--top];goto _again;}}
1676
1676
  goto st57;
1677
1677
  st57:
@@ -1816,7 +1816,7 @@ case 47:
1816
1816
  {
1817
1817
  doctype.end = p;
1818
1818
 
1819
- rb_funcall(delegate, id_doctype, 1, Trenni_token(doctype, encoding));
1819
+ rb_funcall(delegate, id_doctype, 1, Trenni_Token_string(doctype, encoding));
1820
1820
  }
1821
1821
  break;
1822
1822
  case 26:
@@ -1830,7 +1830,7 @@ case 47:
1830
1830
  {
1831
1831
  comment.end = p;
1832
1832
 
1833
- rb_funcall(delegate, id_comment, 1, Trenni_token(comment, encoding));
1833
+ rb_funcall(delegate, id_comment, 1, Trenni_Token_string(comment, encoding));
1834
1834
  }
1835
1835
  break;
1836
1836
  case 17:
@@ -1846,7 +1846,7 @@ case 47:
1846
1846
  {
1847
1847
  instruction.end = p;
1848
1848
 
1849
- rb_funcall(delegate, id_instruction, 1, Trenni_token(instruction, encoding));
1849
+ rb_funcall(delegate, id_instruction, 1, Trenni_Token_string(instruction, encoding));
1850
1850
  }
1851
1851
  break;
1852
1852
  case 38:
@@ -1867,7 +1867,7 @@ case 47:
1867
1867
  case 55:
1868
1868
  #line 170 "markup.rl"
1869
1869
  {
1870
- rb_funcall(delegate, id_close_tag, 2, Trenni_token(identifier, encoding), ULONG2NUM(identifier.begin-s));
1870
+ rb_funcall(delegate, id_close_tag, 2, Trenni_Token_string(identifier, encoding), ULONG2NUM(identifier.begin-s));
1871
1871
  }
1872
1872
  break;
1873
1873
  case 1:
@@ -1896,7 +1896,7 @@ case 47:
1896
1896
  {
1897
1897
  cdata.end = p;
1898
1898
 
1899
- rb_funcall(delegate, id_cdata, 1, Trenni_token(cdata, encoding));
1899
+ rb_funcall(delegate, id_cdata, 1, Trenni_Token_string(cdata, encoding));
1900
1900
  }
1901
1901
  break;
1902
1902
  case 33: