radius 0.7.5 → 0.8.0
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/CHANGELOG +5 -0
- data/CONTRIBUTORS +2 -0
- data/Gemfile +9 -5
- data/README.rdoc +2 -6
- data/Rakefile +9 -0
- data/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_asc.png +0 -0
- data/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
- data/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_both.png +0 -0
- data/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_desc.png +0 -0
- data/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
- data/coverage/assets/0.13.1/application.css +1 -0
- data/coverage/assets/0.13.1/application.js +7 -0
- data/coverage/assets/0.13.1/colorbox/border.png +0 -0
- data/coverage/assets/0.13.1/colorbox/controls.png +0 -0
- data/coverage/assets/0.13.1/colorbox/loading.gif +0 -0
- data/coverage/assets/0.13.1/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.13.1/favicon_green.png +0 -0
- data/coverage/assets/0.13.1/favicon_red.png +0 -0
- data/coverage/assets/0.13.1/favicon_yellow.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.13.1/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.13.1/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.13.1/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.13.1/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.13.1/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.13.1/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/assets/0.13.1/loading.gif +0 -0
- data/coverage/assets/0.13.1/magnify.png +0 -0
- data/lib/radius/context.rb +2 -1
- data/lib/radius/delegating_open_struct.rb +15 -19
- data/lib/radius/ord_string.rb +6 -8
- data/lib/radius/parser/JavaScanner.class +0 -0
- data/lib/radius/parser/JavaScanner.java +211 -161
- data/lib/radius/parser/JavaScanner.rl +36 -7
- data/lib/radius/parser.rb +69 -40
- data/lib/radius/utility.rb +5 -14
- data/lib/radius/version.rb +1 -1
- data/lib/radius.rb +11 -11
- data/pkg/radius-0.8.0.gem +0 -0
- data/radius.gemspec +12 -4
- data/test/context_test.rb +13 -5
- data/test/multithreaded_test.rb +60 -43
- data/test/ord_string_test.rb +3 -3
- data/test/parser_test.rb +3 -3
- data/test/quickstart_test.rb +2 -2
- data/test/squiggle_test.rb +3 -3
- data/test/test_helper.rb +21 -26
- data/test/utility_test.rb +3 -3
- metadata +52 -16
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
// line 1 "JavaScanner.rl"
|
3
3
|
|
4
|
-
// line
|
4
|
+
// line 101 "JavaScanner.rl"
|
5
5
|
|
6
6
|
|
7
7
|
package radius.parser;
|
@@ -32,11 +32,23 @@ public class JavaScanner {
|
|
32
32
|
}
|
33
33
|
|
34
34
|
void tag(String prefix, String name, RubyHash attr, RubySymbol flavor) {
|
35
|
+
// Validate both prefix and name
|
36
|
+
if ((prefix == null || prefix.trim().isEmpty()) &&
|
37
|
+
(name == null || name.trim().isEmpty())) {
|
38
|
+
pass_through("<");
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
|
42
|
+
if (name == null || name.trim().isEmpty()) {
|
43
|
+
pass_through("<" + prefix + ":");
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
|
35
47
|
RubyHash tag = RubyHash.newHash(runtime);
|
36
48
|
tag.op_aset(
|
37
49
|
runtime.getCurrentContext(),
|
38
50
|
RubySymbol.newSymbol(runtime, "prefix"),
|
39
|
-
RubyString.newString(runtime, prefix)
|
51
|
+
RubyString.newString(runtime, prefix != null ? prefix : "")
|
40
52
|
);
|
41
53
|
tag.op_aset(
|
42
54
|
runtime.getCurrentContext(),
|
@@ -61,7 +73,7 @@ public class JavaScanner {
|
|
61
73
|
}
|
62
74
|
|
63
75
|
|
64
|
-
// line
|
76
|
+
// line 77 "JavaScanner.java"
|
65
77
|
private static byte[] init__parser_actions_0()
|
66
78
|
{
|
67
79
|
return new byte [] {
|
@@ -82,11 +94,12 @@ private static final byte _parser_actions[] = init__parser_actions_0();
|
|
82
94
|
private static short[] init__parser_key_offsets_0()
|
83
95
|
{
|
84
96
|
return new short [] {
|
85
|
-
0, 0, 11, 21,
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
97
|
+
0, 0, 11, 21, 35, 48, 62, 66, 71, 73, 75, 88,
|
98
|
+
101, 102, 104, 119, 134, 150, 156, 162, 177, 180, 183, 186,
|
99
|
+
201, 203, 205, 220, 236, 242, 248, 251, 254, 270, 286, 303,
|
100
|
+
310, 316, 332, 336, 352, 367, 370, 372, 382, 392, 403, 413,
|
101
|
+
428, 432, 442, 442, 443, 452, 452, 452, 454, 456, 459, 462,
|
102
|
+
464, 466
|
90
103
|
};
|
91
104
|
}
|
92
105
|
|
@@ -97,43 +110,44 @@ private static char[] init__parser_trans_keys_0()
|
|
97
110
|
{
|
98
111
|
return new char [] {
|
99
112
|
58, 63, 95, 45, 46, 48, 57, 65, 90, 97, 122, 63,
|
100
|
-
95, 45, 46, 48,
|
101
|
-
63, 95, 9, 13, 45,
|
102
|
-
62, 63, 95, 9, 13, 45, 58, 65, 90, 97, 122,
|
103
|
-
61, 63, 95, 9, 13, 45, 46, 48, 58, 65, 90,
|
104
|
-
|
105
|
-
34, 92, 32, 47, 62, 63, 95, 9, 13, 45, 58,
|
106
|
-
90, 97, 122, 32, 47, 62, 63, 95, 9, 13, 45,
|
107
|
-
65, 90, 97, 122, 62, 34, 92, 32, 34, 47, 62,
|
113
|
+
95, 45, 46, 48, 57, 65, 90, 97, 122, 32, 47, 58,
|
114
|
+
62, 63, 95, 9, 13, 45, 57, 65, 90, 97, 122, 32,
|
115
|
+
47, 62, 63, 95, 9, 13, 45, 58, 65, 90, 97, 122,
|
116
|
+
32, 61, 63, 95, 9, 13, 45, 46, 48, 58, 65, 90,
|
117
|
+
97, 122, 32, 61, 9, 13, 32, 34, 39, 9, 13, 34,
|
118
|
+
92, 34, 92, 32, 47, 62, 63, 95, 9, 13, 45, 58,
|
119
|
+
65, 90, 97, 122, 32, 47, 62, 63, 95, 9, 13, 45,
|
120
|
+
58, 65, 90, 97, 122, 62, 34, 92, 32, 34, 47, 62,
|
121
|
+
63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 32,
|
122
|
+
34, 47, 62, 63, 92, 95, 9, 13, 45, 58, 65, 90,
|
123
|
+
97, 122, 32, 34, 61, 63, 92, 95, 9, 13, 45, 46,
|
124
|
+
48, 58, 65, 90, 97, 122, 32, 34, 61, 92, 9, 13,
|
125
|
+
32, 34, 39, 92, 9, 13, 32, 34, 47, 62, 63, 92,
|
126
|
+
95, 9, 13, 45, 58, 65, 90, 97, 122, 34, 62, 92,
|
127
|
+
34, 39, 92, 34, 39, 92, 32, 39, 47, 62, 63, 92,
|
128
|
+
95, 9, 13, 45, 58, 65, 90, 97, 122, 39, 92, 39,
|
129
|
+
92, 32, 39, 47, 62, 63, 92, 95, 9, 13, 45, 58,
|
130
|
+
65, 90, 97, 122, 32, 39, 61, 63, 92, 95, 9, 13,
|
131
|
+
45, 46, 48, 58, 65, 90, 97, 122, 32, 39, 61, 92,
|
132
|
+
9, 13, 32, 34, 39, 92, 9, 13, 34, 39, 92, 34,
|
133
|
+
39, 92, 32, 34, 39, 47, 62, 63, 92, 95, 9, 13,
|
134
|
+
45, 58, 65, 90, 97, 122, 32, 34, 39, 47, 62, 63,
|
108
135
|
92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 32, 34,
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
46, 48,
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
97, 122, 32, 34, 39, 61, 92, 9, 13, 32, 34, 39,
|
125
|
-
92, 9, 13, 32, 34, 39, 47, 62, 63, 92, 95, 9,
|
126
|
-
13, 45, 58, 65, 90, 97, 122, 34, 39, 62, 92, 32,
|
127
|
-
34, 39, 47, 62, 63, 92, 95, 9, 13, 45, 58, 65,
|
128
|
-
90, 97, 122, 32, 39, 47, 62, 63, 92, 95, 9, 13,
|
129
|
-
45, 58, 65, 90, 97, 122, 39, 62, 92, 39, 92, 63,
|
130
|
-
95, 45, 46, 48, 57, 65, 90, 97, 122, 58, 63, 95,
|
131
|
-
45, 46, 48, 57, 65, 90, 97, 122, 63, 95, 45, 46,
|
132
|
-
48, 58, 65, 90, 97, 122, 32, 62, 63, 95, 9, 13,
|
133
|
-
45, 46, 48, 58, 65, 90, 97, 122, 32, 62, 9, 13,
|
134
|
-
60, 47, 63, 95, 45, 57, 65, 90, 97, 122, 34, 92,
|
135
|
-
34, 92, 34, 39, 92, 34, 39, 92, 39, 92, 39, 92,
|
136
|
-
0
|
136
|
+
39, 61, 63, 92, 95, 9, 13, 45, 46, 48, 58, 65,
|
137
|
+
90, 97, 122, 32, 34, 39, 61, 92, 9, 13, 32, 34,
|
138
|
+
39, 92, 9, 13, 32, 34, 39, 47, 62, 63, 92, 95,
|
139
|
+
9, 13, 45, 58, 65, 90, 97, 122, 34, 39, 62, 92,
|
140
|
+
32, 34, 39, 47, 62, 63, 92, 95, 9, 13, 45, 58,
|
141
|
+
65, 90, 97, 122, 32, 39, 47, 62, 63, 92, 95, 9,
|
142
|
+
13, 45, 58, 65, 90, 97, 122, 39, 62, 92, 39, 92,
|
143
|
+
63, 95, 45, 46, 48, 57, 65, 90, 97, 122, 63, 95,
|
144
|
+
45, 46, 48, 57, 65, 90, 97, 122, 58, 63, 95, 45,
|
145
|
+
46, 48, 57, 65, 90, 97, 122, 63, 95, 45, 46, 48,
|
146
|
+
57, 65, 90, 97, 122, 32, 58, 62, 63, 95, 9, 13,
|
147
|
+
45, 46, 48, 57, 65, 90, 97, 122, 32, 62, 9, 13,
|
148
|
+
63, 95, 45, 46, 48, 57, 65, 90, 97, 122, 60, 47,
|
149
|
+
63, 95, 45, 57, 65, 90, 97, 122, 34, 92, 34, 92,
|
150
|
+
34, 39, 92, 34, 39, 92, 39, 92, 39, 92, 0
|
137
151
|
};
|
138
152
|
}
|
139
153
|
|
@@ -143,11 +157,12 @@ private static final char _parser_trans_keys[] = init__parser_trans_keys_0();
|
|
143
157
|
private static byte[] init__parser_single_lengths_0()
|
144
158
|
{
|
145
159
|
return new byte [] {
|
146
|
-
0, 3, 2,
|
160
|
+
0, 3, 2, 6, 5, 4, 2, 3, 2, 2, 5, 5,
|
147
161
|
1, 2, 7, 7, 6, 4, 4, 7, 3, 3, 3, 7,
|
148
162
|
2, 2, 7, 6, 4, 4, 3, 3, 8, 8, 7, 5,
|
149
|
-
4, 8, 4, 8, 7, 3, 2, 2, 3, 2,
|
150
|
-
0, 1, 3, 0, 0, 2, 2, 3, 3, 2,
|
163
|
+
4, 8, 4, 8, 7, 3, 2, 2, 2, 3, 2, 5,
|
164
|
+
2, 2, 0, 1, 3, 0, 0, 2, 2, 3, 3, 2,
|
165
|
+
2, 0
|
151
166
|
};
|
152
167
|
}
|
153
168
|
|
@@ -160,8 +175,9 @@ private static byte[] init__parser_range_lengths_0()
|
|
160
175
|
0, 4, 4, 4, 4, 5, 1, 1, 0, 0, 4, 4,
|
161
176
|
0, 0, 4, 4, 5, 1, 1, 4, 0, 0, 0, 4,
|
162
177
|
0, 0, 4, 5, 1, 1, 0, 0, 4, 4, 5, 1,
|
163
|
-
1, 4, 0, 4, 4, 0, 0, 4, 4, 4,
|
164
|
-
|
178
|
+
1, 4, 0, 4, 4, 0, 0, 4, 4, 4, 4, 5,
|
179
|
+
1, 4, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
|
180
|
+
0, 0
|
165
181
|
};
|
166
182
|
}
|
167
183
|
|
@@ -171,73 +187,60 @@ private static final byte _parser_range_lengths[] = init__parser_range_lengths_0
|
|
171
187
|
private static short[] init__parser_index_offsets_0()
|
172
188
|
{
|
173
189
|
return new short [] {
|
174
|
-
0, 0, 8, 15,
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
190
|
+
0, 0, 8, 15, 26, 36, 46, 50, 55, 58, 61, 71,
|
191
|
+
81, 83, 86, 98, 110, 122, 128, 134, 146, 150, 154, 158,
|
192
|
+
170, 173, 176, 188, 200, 206, 212, 216, 220, 233, 246, 259,
|
193
|
+
266, 272, 285, 290, 303, 315, 319, 322, 329, 336, 344, 351,
|
194
|
+
362, 366, 373, 374, 376, 383, 384, 385, 388, 391, 395, 399,
|
195
|
+
402, 405
|
179
196
|
};
|
180
197
|
}
|
181
198
|
|
182
199
|
private static final short _parser_index_offsets[] = init__parser_index_offsets_0();
|
183
200
|
|
184
201
|
|
185
|
-
private static byte[] init__parser_indicies_0()
|
186
|
-
{
|
187
|
-
return new byte [] {
|
188
|
-
2, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3,
|
189
|
-
3, 3, 0, 4, 6, 7, 5, 5, 4, 5, 5, 5,
|
190
|
-
0, 8, 10, 11, 9, 9, 8, 9, 9, 9, 0, 13,
|
191
|
-
15, 14, 14, 13, 14, 14, 14, 14, 12, 16, 17, 16,
|
192
|
-
12, 17, 18, 19, 17, 12, 21, 22, 20, 24, 25, 23,
|
193
|
-
26, 28, 29, 27, 27, 26, 27, 27, 27, 12, 30, 32,
|
194
|
-
33, 31, 31, 30, 31, 31, 31, 12, 34, 12, 35, 25,
|
195
|
-
23, 36, 24, 38, 39, 37, 25, 37, 36, 37, 37, 37,
|
196
|
-
23, 40, 24, 42, 43, 41, 25, 41, 40, 41, 41, 41,
|
197
|
-
23, 44, 24, 46, 45, 25, 45, 44, 45, 45, 45, 45,
|
198
|
-
23, 47, 24, 48, 25, 47, 23, 48, 49, 50, 25, 48,
|
199
|
-
23, 51, 21, 53, 54, 52, 22, 52, 51, 52, 52, 52,
|
200
|
-
20, 24, 55, 25, 23, 57, 58, 59, 56, 61, 35, 62,
|
201
|
-
60, 64, 24, 66, 67, 65, 68, 65, 64, 65, 65, 65,
|
202
|
-
63, 24, 68, 63, 61, 68, 63, 69, 24, 71, 72, 70,
|
203
|
-
68, 70, 69, 70, 70, 70, 63, 73, 24, 75, 74, 68,
|
204
|
-
74, 73, 74, 74, 74, 74, 63, 76, 24, 77, 68, 76,
|
205
|
-
63, 77, 78, 79, 68, 77, 63, 80, 58, 59, 56, 81,
|
206
|
-
81, 62, 60, 82, 61, 35, 84, 85, 83, 62, 83, 82,
|
207
|
-
83, 83, 83, 60, 86, 61, 35, 88, 89, 87, 62, 87,
|
208
|
-
86, 87, 87, 87, 60, 90, 61, 35, 92, 91, 62, 91,
|
209
|
-
90, 91, 91, 91, 91, 60, 93, 61, 35, 94, 62, 93,
|
210
|
-
60, 94, 95, 96, 62, 94, 60, 97, 80, 58, 99, 100,
|
211
|
-
98, 59, 98, 97, 98, 98, 98, 56, 61, 35, 101, 62,
|
212
|
-
60, 97, 57, 58, 99, 100, 98, 59, 98, 97, 98, 98,
|
213
|
-
98, 56, 103, 21, 105, 106, 104, 107, 104, 103, 104, 104,
|
214
|
-
104, 102, 24, 108, 68, 63, 21, 107, 102, 109, 109, 109,
|
215
|
-
109, 109, 109, 0, 111, 110, 110, 110, 110, 110, 110, 0,
|
216
|
-
112, 112, 112, 112, 112, 112, 0, 113, 115, 114, 114, 113,
|
217
|
-
114, 114, 114, 114, 0, 116, 117, 116, 0, 118, 120, 119,
|
218
|
-
123, 122, 122, 122, 122, 122, 121, 124, 125, 24, 25, 23,
|
219
|
-
24, 25, 23, 61, 35, 62, 60, 61, 35, 62, 60, 24,
|
220
|
-
68, 63, 24, 68, 63, 126, 0
|
221
|
-
};
|
222
|
-
}
|
223
|
-
|
224
|
-
private static final byte _parser_indicies[] = init__parser_indicies_0();
|
225
|
-
|
226
|
-
|
227
202
|
private static byte[] init__parser_trans_targs_0()
|
228
203
|
{
|
229
204
|
return new byte [] {
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
205
|
+
2, 1, 1, 1, 1, 1, 1, 51, 3, 3, 3, 3,
|
206
|
+
3, 3, 51, 4, 12, 43, 54, 3, 3, 4, 3, 3,
|
207
|
+
3, 51, 4, 12, 54, 5, 5, 4, 5, 5, 5, 51,
|
208
|
+
6, 7, 5, 5, 6, 5, 5, 5, 5, 51, 6, 7,
|
209
|
+
6, 51, 7, 8, 42, 7, 51, 10, 13, 9, 10, 13,
|
210
|
+
9, 11, 12, 54, 5, 5, 11, 5, 5, 5, 51, 11,
|
211
|
+
12, 54, 5, 5, 11, 5, 5, 5, 51, 53, 51, 14,
|
212
|
+
13, 9, 15, 10, 20, 56, 16, 13, 16, 15, 16, 16,
|
213
|
+
16, 9, 15, 10, 20, 56, 16, 13, 16, 15, 16, 16,
|
214
|
+
16, 9, 17, 10, 18, 16, 13, 16, 17, 16, 16, 16,
|
215
|
+
16, 9, 17, 10, 18, 13, 17, 9, 18, 19, 21, 13,
|
216
|
+
18, 9, 15, 10, 20, 56, 16, 13, 16, 15, 16, 16,
|
217
|
+
16, 9, 10, 55, 13, 9, 23, 14, 31, 22, 23, 14,
|
218
|
+
31, 22, 26, 10, 41, 60, 27, 25, 27, 26, 27, 27,
|
219
|
+
27, 24, 10, 25, 24, 23, 25, 24, 26, 10, 41, 60,
|
220
|
+
27, 25, 27, 26, 27, 27, 27, 24, 28, 10, 29, 27,
|
221
|
+
25, 27, 28, 27, 27, 27, 27, 24, 28, 10, 29, 25,
|
222
|
+
28, 24, 29, 30, 40, 25, 29, 24, 23, 14, 31, 22,
|
223
|
+
32, 32, 31, 22, 33, 23, 14, 38, 58, 34, 31, 34,
|
224
|
+
33, 34, 34, 34, 22, 33, 23, 14, 38, 58, 34, 31,
|
225
|
+
34, 33, 34, 34, 34, 22, 35, 23, 14, 36, 34, 31,
|
226
|
+
34, 35, 34, 34, 34, 34, 22, 35, 23, 14, 36, 31,
|
227
|
+
35, 22, 36, 37, 39, 31, 36, 22, 33, 23, 14, 38,
|
228
|
+
58, 34, 31, 34, 33, 34, 34, 34, 22, 23, 14, 57,
|
229
|
+
31, 22, 33, 23, 14, 38, 58, 34, 31, 34, 33, 34,
|
230
|
+
34, 34, 22, 26, 10, 41, 60, 27, 25, 27, 26, 27,
|
231
|
+
27, 27, 24, 10, 59, 25, 24, 10, 25, 24, 3, 3,
|
232
|
+
3, 3, 3, 3, 51, 45, 45, 45, 45, 45, 45, 51,
|
233
|
+
46, 45, 45, 45, 45, 45, 45, 51, 47, 47, 47, 47,
|
234
|
+
47, 47, 51, 48, 49, 61, 47, 47, 48, 47, 47, 47,
|
235
|
+
47, 51, 48, 61, 48, 51, 47, 47, 47, 47, 47, 47,
|
236
|
+
51, 0, 52, 51, 44, 1, 1, 1, 1, 1, 51, 51,
|
237
|
+
51, 10, 13, 9, 10, 13, 9, 23, 14, 31, 22, 23,
|
238
|
+
14, 31, 22, 10, 25, 24, 10, 25, 24, 51, 51, 51,
|
239
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
|
240
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
|
241
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
|
242
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
|
243
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 0
|
241
244
|
};
|
242
245
|
}
|
243
246
|
|
@@ -247,17 +250,45 @@ private static final byte _parser_trans_targs[] = init__parser_trans_targs_0();
|
|
247
250
|
private static byte[] init__parser_trans_actions_0()
|
248
251
|
{
|
249
252
|
return new byte [] {
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
0,
|
255
|
-
0,
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
253
|
+
31, 0, 0, 0, 0, 0, 0, 27, 3, 3, 3, 3,
|
254
|
+
3, 3, 27, 5, 5, 0, 5, 0, 0, 5, 0, 0,
|
255
|
+
0, 27, 0, 0, 0, 11, 11, 0, 11, 11, 11, 27,
|
256
|
+
13, 13, 0, 0, 13, 0, 0, 0, 0, 29, 0, 0,
|
257
|
+
0, 29, 0, 0, 0, 0, 29, 43, 15, 15, 17, 0,
|
258
|
+
0, 7, 34, 34, 64, 64, 7, 64, 64, 64, 29, 0,
|
259
|
+
9, 9, 37, 37, 0, 37, 37, 37, 29, 0, 29, 17,
|
260
|
+
0, 0, 7, 17, 34, 81, 64, 0, 64, 7, 64, 64,
|
261
|
+
64, 0, 0, 17, 9, 72, 37, 0, 37, 0, 37, 37,
|
262
|
+
37, 0, 13, 17, 13, 0, 0, 0, 13, 0, 0, 0,
|
263
|
+
0, 0, 0, 17, 0, 0, 0, 0, 0, 17, 0, 0,
|
264
|
+
0, 0, 40, 43, 68, 86, 76, 15, 76, 40, 76, 76,
|
265
|
+
76, 15, 17, 58, 0, 0, 46, 43, 15, 15, 17, 17,
|
266
|
+
0, 0, 7, 17, 34, 81, 64, 0, 64, 7, 64, 64,
|
267
|
+
64, 0, 17, 0, 0, 17, 0, 0, 0, 17, 9, 72,
|
268
|
+
37, 0, 37, 0, 37, 37, 37, 0, 13, 17, 13, 0,
|
269
|
+
0, 0, 13, 0, 0, 0, 0, 0, 0, 17, 0, 0,
|
270
|
+
0, 0, 0, 0, 17, 0, 0, 0, 43, 43, 15, 15,
|
271
|
+
17, 17, 0, 0, 7, 17, 17, 34, 81, 64, 0, 64,
|
272
|
+
7, 64, 64, 64, 0, 0, 17, 17, 9, 72, 37, 0,
|
273
|
+
37, 0, 37, 37, 37, 0, 13, 17, 17, 13, 0, 0,
|
274
|
+
0, 13, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0,
|
275
|
+
0, 0, 0, 17, 17, 0, 0, 0, 40, 43, 43, 68,
|
276
|
+
86, 76, 15, 76, 40, 76, 76, 76, 15, 17, 17, 58,
|
277
|
+
0, 0, 40, 46, 43, 68, 86, 76, 15, 76, 40, 76,
|
278
|
+
76, 76, 15, 40, 43, 68, 86, 76, 15, 76, 40, 76,
|
279
|
+
76, 76, 15, 17, 58, 0, 0, 43, 15, 15, 0, 0,
|
280
|
+
0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 1, 27,
|
281
|
+
31, 0, 0, 0, 0, 0, 0, 27, 3, 3, 3, 3,
|
282
|
+
3, 3, 27, 5, 0, 5, 0, 0, 5, 0, 0, 0,
|
283
|
+
0, 27, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0,
|
284
|
+
27, 0, 61, 23, 0, 1, 1, 1, 1, 1, 25, 52,
|
285
|
+
49, 17, 0, 0, 17, 0, 0, 17, 17, 0, 0, 17,
|
286
|
+
17, 0, 0, 17, 0, 0, 17, 0, 0, 55, 27, 27,
|
287
|
+
27, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
|
288
|
+
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
|
289
|
+
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
|
290
|
+
29, 29, 29, 29, 27, 27, 27, 27, 27, 27, 27, 25,
|
291
|
+
52, 49, 52, 49, 52, 49, 52, 49, 55, 0
|
261
292
|
};
|
262
293
|
}
|
263
294
|
|
@@ -271,7 +302,8 @@ private static byte[] init__parser_to_state_actions_0()
|
|
271
302
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
272
303
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
273
304
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
274
|
-
|
305
|
+
0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0,
|
306
|
+
0, 0
|
275
307
|
};
|
276
308
|
}
|
277
309
|
|
@@ -285,7 +317,8 @@ private static byte[] init__parser_from_state_actions_0()
|
|
285
317
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
286
318
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
287
319
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
288
|
-
0,
|
320
|
+
0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
|
321
|
+
0, 0
|
289
322
|
};
|
290
323
|
}
|
291
324
|
|
@@ -295,26 +328,27 @@ private static final byte _parser_from_state_actions[] = init__parser_from_state
|
|
295
328
|
private static short[] init__parser_eof_trans_0()
|
296
329
|
{
|
297
330
|
return new short [] {
|
298
|
-
0,
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
331
|
+
0, 455, 455, 455, 455, 448, 448, 448, 448, 448, 448, 448,
|
332
|
+
448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
|
333
|
+
448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
|
334
|
+
448, 448, 448, 448, 448, 448, 448, 455, 455, 455, 455, 455,
|
335
|
+
455, 455, 0, 0, 456, 463, 464, 463, 464, 463, 464, 463,
|
336
|
+
464, 465
|
303
337
|
};
|
304
338
|
}
|
305
339
|
|
306
340
|
private static final short _parser_eof_trans[] = init__parser_eof_trans_0();
|
307
341
|
|
308
342
|
|
309
|
-
static final int parser_start =
|
310
|
-
static final int parser_first_final =
|
343
|
+
static final int parser_start = 51;
|
344
|
+
static final int parser_first_final = 51;
|
311
345
|
static final int parser_error = 0;
|
312
346
|
|
313
|
-
static final int parser_en_Closeout =
|
314
|
-
static final int parser_en_main =
|
347
|
+
static final int parser_en_Closeout = 50;
|
348
|
+
static final int parser_en_main = 51;
|
315
349
|
|
316
350
|
|
317
|
-
// line
|
351
|
+
// line 172 "JavaScanner.rl"
|
318
352
|
|
319
353
|
public RubyArray operate(String tag_prefix, String input) {
|
320
354
|
char[] data = input.toCharArray();
|
@@ -347,7 +381,7 @@ static final int parser_en_main = 49;
|
|
347
381
|
char[] remainder = data;
|
348
382
|
|
349
383
|
|
350
|
-
// line
|
384
|
+
// line 385 "JavaScanner.java"
|
351
385
|
{
|
352
386
|
cs = parser_start;
|
353
387
|
ts = -1;
|
@@ -355,9 +389,9 @@ static final int parser_en_main = 49;
|
|
355
389
|
act = 0;
|
356
390
|
}
|
357
391
|
|
358
|
-
// line
|
392
|
+
// line 204 "JavaScanner.rl"
|
359
393
|
|
360
|
-
// line
|
394
|
+
// line 395 "JavaScanner.java"
|
361
395
|
{
|
362
396
|
int _klen;
|
363
397
|
int _trans = 0;
|
@@ -386,7 +420,7 @@ case 1:
|
|
386
420
|
// line 1 "NONE"
|
387
421
|
{ts = p;}
|
388
422
|
break;
|
389
|
-
// line
|
423
|
+
// line 424 "JavaScanner.java"
|
390
424
|
}
|
391
425
|
}
|
392
426
|
|
@@ -439,7 +473,6 @@ case 1:
|
|
439
473
|
}
|
440
474
|
} while (false);
|
441
475
|
|
442
|
-
_trans = _parser_indicies[_trans];
|
443
476
|
case 3:
|
444
477
|
cs = _parser_trans_targs[_trans];
|
445
478
|
|
@@ -457,35 +490,52 @@ case 3:
|
|
457
490
|
case 1:
|
458
491
|
// line 5 "JavaScanner.rl"
|
459
492
|
{
|
460
|
-
prefix = input.substring(mark_pfx, p);
|
493
|
+
prefix = String.valueOf(input.substring(mark_pfx, p));
|
461
494
|
}
|
462
495
|
break;
|
463
496
|
case 2:
|
464
497
|
// line 8 "JavaScanner.rl"
|
465
498
|
{
|
466
499
|
if ( !prefix.equals(tag_prefix) ) {
|
467
|
-
//
|
468
|
-
|
469
|
-
|
500
|
+
// Pass through the entire tag markup as text
|
501
|
+
pass_through(input.substring(tagstart, p + 1));
|
502
|
+
// Reset all state
|
470
503
|
prefix = "";
|
471
|
-
|
504
|
+
name = "";
|
505
|
+
attributes = RubyHash.newHash(runtime);
|
506
|
+
flavor = RubySymbol.newSymbol(runtime, "tasteless".intern());
|
507
|
+
tagstart = p + 1;
|
508
|
+
{cs = 51; _goto_targ = 2; if (true) continue _goto;}
|
472
509
|
}
|
473
510
|
}
|
474
511
|
break;
|
475
512
|
case 3:
|
476
|
-
// line
|
513
|
+
// line 22 "JavaScanner.rl"
|
477
514
|
{ mark_stg = p; }
|
478
515
|
break;
|
479
516
|
case 4:
|
480
|
-
// line
|
481
|
-
{
|
517
|
+
// line 23 "JavaScanner.rl"
|
518
|
+
{
|
519
|
+
name = String.valueOf(input.substring(mark_stg, p));
|
520
|
+
if (name == null || name.trim().isEmpty()) {
|
521
|
+
// Pass through the entire tag markup as text
|
522
|
+
pass_through(input.substring(tagstart, p + 1));
|
523
|
+
// Reset all state
|
524
|
+
prefix = "";
|
525
|
+
name = "";
|
526
|
+
attributes = RubyHash.newHash(runtime);
|
527
|
+
flavor = RubySymbol.newSymbol(runtime, "tasteless".intern());
|
528
|
+
tagstart = p + 1;
|
529
|
+
{cs = 51; _goto_targ = 2; if (true) continue _goto;}
|
530
|
+
}
|
531
|
+
}
|
482
532
|
break;
|
483
533
|
case 5:
|
484
|
-
// line
|
534
|
+
// line 37 "JavaScanner.rl"
|
485
535
|
{ mark_attr = p; }
|
486
536
|
break;
|
487
537
|
case 6:
|
488
|
-
// line
|
538
|
+
// line 38 "JavaScanner.rl"
|
489
539
|
{
|
490
540
|
attributes.op_aset(
|
491
541
|
runtime.getCurrentContext(),
|
@@ -495,31 +545,31 @@ case 3:
|
|
495
545
|
}
|
496
546
|
break;
|
497
547
|
case 7:
|
498
|
-
// line
|
548
|
+
// line 46 "JavaScanner.rl"
|
499
549
|
{ mark_nat = p; }
|
500
550
|
break;
|
501
551
|
case 8:
|
502
|
-
// line
|
552
|
+
// line 47 "JavaScanner.rl"
|
503
553
|
{ nat = input.substring(mark_nat, p); }
|
504
554
|
break;
|
505
555
|
case 9:
|
506
|
-
// line
|
556
|
+
// line 48 "JavaScanner.rl"
|
507
557
|
{ mark_vat = p; }
|
508
558
|
break;
|
509
559
|
case 10:
|
510
|
-
// line
|
560
|
+
// line 49 "JavaScanner.rl"
|
511
561
|
{ vat = input.substring(mark_vat, p); }
|
512
562
|
break;
|
513
563
|
case 11:
|
514
|
-
// line
|
564
|
+
// line 51 "JavaScanner.rl"
|
515
565
|
{ flavor = RubySymbol.newSymbol(runtime, "open".intern()); }
|
516
566
|
break;
|
517
567
|
case 12:
|
518
|
-
// line
|
568
|
+
// line 52 "JavaScanner.rl"
|
519
569
|
{ flavor = RubySymbol.newSymbol(runtime, "self".intern()); }
|
520
570
|
break;
|
521
571
|
case 13:
|
522
|
-
// line
|
572
|
+
// line 53 "JavaScanner.rl"
|
523
573
|
{ flavor = RubySymbol.newSymbol(runtime, "close".intern()); }
|
524
574
|
break;
|
525
575
|
case 16:
|
@@ -527,22 +577,22 @@ case 3:
|
|
527
577
|
{te = p+1;}
|
528
578
|
break;
|
529
579
|
case 17:
|
530
|
-
// line
|
580
|
+
// line 89 "JavaScanner.rl"
|
531
581
|
{act = 1;}
|
532
582
|
break;
|
533
583
|
case 18:
|
534
|
-
// line
|
584
|
+
// line 96 "JavaScanner.rl"
|
535
585
|
{act = 2;}
|
536
586
|
break;
|
537
587
|
case 19:
|
538
|
-
// line
|
588
|
+
// line 96 "JavaScanner.rl"
|
539
589
|
{te = p+1;{
|
540
590
|
pass_through(input.substring(p, p + 1));
|
541
591
|
tagstart = p + 1;
|
542
592
|
}}
|
543
593
|
break;
|
544
594
|
case 20:
|
545
|
-
// line
|
595
|
+
// line 89 "JavaScanner.rl"
|
546
596
|
{te = p;p--;{
|
547
597
|
tag(prefix, name, attributes, flavor);
|
548
598
|
prefix = "";
|
@@ -552,14 +602,14 @@ case 3:
|
|
552
602
|
}}
|
553
603
|
break;
|
554
604
|
case 21:
|
555
|
-
// line
|
605
|
+
// line 96 "JavaScanner.rl"
|
556
606
|
{te = p;p--;{
|
557
607
|
pass_through(input.substring(p, p + 1));
|
558
608
|
tagstart = p + 1;
|
559
609
|
}}
|
560
610
|
break;
|
561
611
|
case 22:
|
562
|
-
// line
|
612
|
+
// line 96 "JavaScanner.rl"
|
563
613
|
{{p = ((te))-1;}{
|
564
614
|
pass_through(input.substring(p, p + 1));
|
565
615
|
tagstart = p + 1;
|
@@ -586,7 +636,7 @@ case 3:
|
|
586
636
|
}
|
587
637
|
}
|
588
638
|
break;
|
589
|
-
// line
|
639
|
+
// line 640 "JavaScanner.java"
|
590
640
|
}
|
591
641
|
}
|
592
642
|
}
|
@@ -600,7 +650,7 @@ case 2:
|
|
600
650
|
// line 1 "NONE"
|
601
651
|
{ts = -1;}
|
602
652
|
break;
|
603
|
-
// line
|
653
|
+
// line 654 "JavaScanner.java"
|
604
654
|
}
|
605
655
|
}
|
606
656
|
|
@@ -627,7 +677,7 @@ case 5:
|
|
627
677
|
break; }
|
628
678
|
}
|
629
679
|
|
630
|
-
// line
|
680
|
+
// line 205 "JavaScanner.rl"
|
631
681
|
|
632
682
|
return rv;
|
633
683
|
}
|