trenni 3.7.1 → 3.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bake/trenni/entities.rb +57 -0
- data/bake/trenni/parsers.rb +66 -0
- data/ext/Rakefile +1 -0
- data/ext/tmp/x86_64-linux/lib/trenni/trenni.so +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/Makefile +263 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/mkmf.log +108 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.so +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/Makefile +266 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/mkmf.log +113 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/query.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.so +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/Makefile +266 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/mkmf.log +113 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/query.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.so +0 -0
- data/ext/trenni/extconf.rb +1 -0
- data/ext/trenni/markup.c +85 -85
- data/ext/trenni/markup.rl +11 -11
- data/ext/trenni/query.c +619 -0
- data/ext/trenni/query.h +6 -0
- data/ext/trenni/query.rl +82 -0
- data/ext/trenni/tag.c +8 -6
- data/ext/trenni/template.c +57 -57
- data/ext/trenni/template.rl +4 -4
- data/ext/trenni/trenni.c +9 -1
- data/ext/trenni/trenni.h +8 -3
- data/lib/trenni.rb +4 -0
- data/lib/trenni/buffer.rb +2 -0
- data/lib/trenni/builder.rb +64 -12
- data/lib/trenni/entities.rb +2082 -2082
- data/lib/trenni/entities.trenni +1 -3
- data/lib/trenni/{parse_error.rb → error.rb} +6 -1
- data/lib/trenni/fallback/markup.rb +1623 -1575
- data/lib/trenni/fallback/markup.rl +3 -2
- data/lib/trenni/fallback/markup.rl.dot +278 -0
- data/lib/trenni/fallback/markup.rl.pdf +0 -0
- data/lib/trenni/fallback/query.rb +565 -0
- data/lib/trenni/fallback/query.rl +105 -0
- data/lib/trenni/fallback/query.rl.dot +54 -0
- data/lib/trenni/fallback/query.rl.pdf +0 -0
- data/lib/trenni/fallback/template.rb +756 -747
- data/lib/trenni/fallback/template.rl +1 -1
- data/lib/trenni/fallback/template.rl.dot +270 -0
- data/lib/trenni/fallback/template.rl.pdf +0 -0
- data/lib/trenni/markup.rb +2 -0
- data/lib/trenni/native.rb +3 -1
- data/lib/trenni/parse_delegate.rb +2 -0
- data/lib/trenni/parsers.rb +2 -0
- data/lib/trenni/query.rb +94 -0
- data/lib/trenni/reference.rb +125 -0
- data/lib/trenni/strings.rb +17 -4
- data/lib/trenni/tag.rb +2 -0
- data/lib/trenni/template.rb +25 -22
- data/lib/trenni/trenni.so +0 -0
- data/lib/trenni/uri.rb +3 -0
- data/lib/trenni/version.rb +3 -1
- data/parsers/trenni/query.rl +23 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/trenni/builder_spec.rb +14 -1
- data/spec/trenni/corpus/large.rb +2 -0
- data/spec/trenni/markup_parser_spec.rb +1 -0
- data/spec/trenni/markup_performance_spec.rb +15 -2
- data/spec/trenni/markup_spec.rb +1 -0
- data/spec/trenni/parsers_performance_spec.rb +32 -0
- data/spec/trenni/query_spec.rb +51 -0
- data/spec/trenni/reference_spec.rb +87 -0
- data/spec/trenni/strings_spec.rb +1 -0
- data/spec/trenni/tag_spec.rb +2 -0
- data/spec/trenni/template_error_spec.rb +1 -0
- data/spec/trenni/template_performance_spec.rb +1 -0
- data/spec/trenni/template_spec.rb +1 -0
- data/spec/trenni/template_spec/builder.trenni +2 -2
- data/spec/trenni/uri_spec.rb +1 -0
- metadata +95 -62
- data/.gitignore +0 -19
- data/.rspec +0 -5
- data/.simplecov +0 -9
- data/.travis.yml +0 -23
- data/Gemfile +0 -20
- data/README.md +0 -312
- data/Rakefile +0 -19
- data/benchmark/call_vs_yield.rb +0 -51
- data/benchmark/interpolation_vs_concat.rb +0 -29
- data/benchmark/io_vs_string.rb +0 -90
- data/entities.json +0 -2233
- data/tasks/entities.rake +0 -33
- data/tasks/parsers.rake +0 -43
- data/trenni.gemspec +0 -33
Binary file
|
Binary file
|
@@ -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
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/ext/trenni/extconf.rb
CHANGED
data/ext/trenni/markup.c
CHANGED
@@ -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
|
-
|
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,
|
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,
|
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,
|
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,
|
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,
|
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 "/
|
282
|
-
{{stack[top++] = 50;
|
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 "/
|
286
|
-
{{stack[top++] = 50;
|
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 "/
|
298
|
-
{{stack[top++] = 50;
|
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 "/
|
314
|
-
{{stack[top++] = 50;
|
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,
|
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 "/
|
332
|
-
{{stack[top++] = 50;
|
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,
|
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 "/
|
350
|
-
{{stack[top++] = 50;
|
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,
|
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 "/
|
368
|
-
{{stack[top++] = 50;
|
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,
|
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 "/
|
384
|
-
{{stack[top++] = 50;
|
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,
|
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 "/
|
402
|
-
{{stack[top++] = 50;
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
785
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
786
786
|
} else {
|
787
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
801
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
802
802
|
} else {
|
803
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
817
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
818
818
|
} else {
|
819
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
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,
|
925
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
926
926
|
} else {
|
927
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
945
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
946
946
|
} else {
|
947
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
965
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
966
966
|
} else {
|
967
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
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,
|
1006
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
1007
1007
|
} else {
|
1008
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
1022
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
1023
1023
|
} else {
|
1024
|
-
rb_funcall(delegate, id_attribute, 2,
|
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,
|
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,
|
1038
|
+
rb_funcall(delegate, id_attribute, 2, Trenni_Token_string(identifier, encoding), empty_string);
|
1039
1039
|
} else {
|
1040
|
-
rb_funcall(delegate, id_attribute, 2,
|
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 "/
|
1144
|
-
{{stack[top++] = 10;
|
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 "/
|
1154
|
-
{{stack[top++] = 10;
|
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 "/
|
1158
|
-
{{stack[top++] = 10;
|
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 "/
|
1228
|
-
{{stack[top++] = 14;
|
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 "/
|
1238
|
-
{{stack[top++] = 14;
|
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 "/
|
1242
|
-
{{stack[top++] = 14;
|
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 "/
|
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 "/
|
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,
|
1671
|
+
rb_funcall(entities, id_key_get, 1, Trenni_Token_string(entity, encoding))
|
1672
1672
|
);
|
1673
1673
|
}
|
1674
|
-
#line 8 "/
|
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,
|
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,
|
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,
|
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,
|
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,
|
1899
|
+
rb_funcall(delegate, id_cdata, 1, Trenni_Token_string(cdata, encoding));
|
1900
1900
|
}
|
1901
1901
|
break;
|
1902
1902
|
case 33:
|