hpricot 0.6-mswin32 → 0.6.164-mswin32

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ require 'mkmf'
2
+ have_header('stdio.h') or exit
3
+ dir_config('fast_xs')
4
+ create_makefile('fast_xs')
@@ -0,0 +1,194 @@
1
+ #define VERSION "0.1"
2
+
3
+ #include <ruby.h>
4
+ #include <assert.h>
5
+ /* #include <stdio.h> */
6
+
7
+ static ID unpack_id;
8
+ static VALUE U_fmt, C_fmt;
9
+
10
+ /* give GCC hints for better branch prediction
11
+ * (we layout branches so that ASCII characters are handled faster) */
12
+ #if defined(__GNUC__) && (__GNUC__ >= 3)
13
+ # define likely(x) __builtin_expect (!!(x), 1)
14
+ # define unlikely(x) __builtin_expect (!!(x), 0)
15
+ #else
16
+ # define unlikely(x) (x)
17
+ # define likely(x) (x)
18
+ #endif
19
+
20
+ /* pass-through certain characters for CP-1252 */
21
+ #define p(x) (x-128)
22
+
23
+ static const int cp_1252[] = {
24
+ 8364, /* 128 => 8364, euro sign */
25
+ p(129), /* 129 => 129, pass-through */
26
+ 8218, /* 130 => 8218, single low-9 quotation mark */
27
+ 402, /* 131 => 402, latin small letter f with hook */
28
+ 8222, /* 132 => 8222, double low-9 quotation mark */
29
+ 8230, /* 133 => 8230, horizontal ellipsis */
30
+ 8224, /* 134 => 8224, dagger */
31
+ 8225, /* 135 => 8225, double dagger */
32
+ 710, /* 136 => 710, modifier letter circumflex accent */
33
+ 8240, /* 137 => 8240, per mille sign */
34
+ 352, /* 138 => 352, latin capital letter s with caron */
35
+ 8249, /* 139 => 8249, single left-pointing angle quotation mark */
36
+ 338, /* 140 => 338, latin capital ligature oe */
37
+ p(141), /* 141 => 141, pass-through */
38
+ 381, /* 142 => 381, latin capital letter z with caron */
39
+ p(143), /* 143 => 143, pass-through */
40
+ p(144), /* 144 => 144, pass-through */
41
+ 8216, /* 145 => 8216, left single quotation mark */
42
+ 8217, /* 146 => 8217, right single quotation mark */
43
+ 8220, /* 147 => 8220, left double quotation mark */
44
+ 8221, /* 148 => 8221, right double quotation mark */
45
+ 8226, /* 149 => 8226, bullet */
46
+ 8211, /* 150 => 8211, en dash */
47
+ 8212, /* 151 => 8212, em dash */
48
+ 732, /* 152 => 732, small tilde */
49
+ 8482, /* 153 => 8482, trade mark sign */
50
+ 353, /* 154 => 353, latin small letter s with caron */
51
+ 8250, /* 155 => 8250, single right-pointing angle quotation mark */
52
+ 339, /* 156 => 339, latin small ligature oe */
53
+ p(157), /* 157 => 157, pass-through */
54
+ 382, /* 158 => 382, latin small letter z with caron */
55
+ 376 /* 159 => 376} latin capital letter y with diaeresis */
56
+ };
57
+
58
+ #define VALID_VALUE(n) \
59
+ (n >= 0x20 && n <= 0xD7FF) || \
60
+ (n >= 0xE000 && n <= 0xFFFD) || \
61
+ (n >= 0x10000 && n <= 0x10FFFF)
62
+
63
+ #define CP_1252_ESCAPE(n) do { \
64
+ if (n >= 128 && n <= 159) \
65
+ n = cp_1252[n - 128]; \
66
+ } while(0)
67
+
68
+ #define return_const_len(x) do { \
69
+ memcpy(buf, x, sizeof(x) - 1); \
70
+ return (sizeof(x) - 1); \
71
+ } while (0)
72
+
73
+ static inline size_t bytes_for(int n)
74
+ {
75
+ if (n < 1000)
76
+ return sizeof("&#999;") - 1;
77
+ if (n < 10000)
78
+ return sizeof("&#9999;") - 1;
79
+ if (n < 100000)
80
+ return sizeof("&#99999;") - 1;
81
+ if (n < 1000000)
82
+ return sizeof("&#999999;") - 1;
83
+ /* if (n < 10000000), we won't have cases above 0x10FFFF */
84
+ return sizeof("&#9999999;") - 1;
85
+ }
86
+
87
+ static long escape(char *buf, int n)
88
+ {
89
+ /* handle ASCII first */
90
+ if (likely(n < 128)) {
91
+ if (likely(n >= 0x20 || n == 0x9 || n == 0xA || n == 0xD)) {
92
+ if (unlikely(n == 34))
93
+ return_const_len("&quot;");
94
+ if (unlikely(n == 38))
95
+ return_const_len("&amp;");
96
+ if (unlikely(n == 60))
97
+ return_const_len("&lt;");
98
+ if (unlikely(n == 62))
99
+ return_const_len("&gt;");
100
+ buf[0] = (char)n;
101
+ return 1;
102
+ }
103
+
104
+ buf[0] = '*';
105
+ return 1;
106
+ }
107
+
108
+ CP_1252_ESCAPE(n);
109
+
110
+ if (VALID_VALUE(n)) {
111
+ /* return snprintf(buf, sizeof("&#1114111;"), "&#%i;", n); */
112
+ extern const char ruby_digitmap[];
113
+ int rv = 3; /* &#; */
114
+ buf += bytes_for(n);
115
+ *--buf = ';';
116
+ do {
117
+ *--buf = ruby_digitmap[(int)(n % 10)];
118
+ ++rv;
119
+ } while (n /= 10);
120
+ *--buf = '#';
121
+ *--buf = '&';
122
+ return rv;
123
+ }
124
+ buf[0] = '*';
125
+ return 1;
126
+ }
127
+
128
+ #undef return_const_len
129
+
130
+ static long escaped_len(int n)
131
+ {
132
+ if (likely(n < 128)) {
133
+ if (unlikely(n == 34))
134
+ return (sizeof("&quot;") - 1);
135
+ if (unlikely(n == 38))
136
+ return (sizeof("&amp;") - 1);
137
+ if (unlikely(n == 60 || n == 62))
138
+ return (sizeof("&gt;") - 1);
139
+ return 1;
140
+ }
141
+
142
+ CP_1252_ESCAPE(n);
143
+
144
+ if (VALID_VALUE(n))
145
+ return bytes_for(n);
146
+ return 1;
147
+ }
148
+
149
+ static VALUE unpack_utf8(VALUE self)
150
+ {
151
+ return rb_funcall(self, unpack_id, 1, U_fmt);
152
+ }
153
+
154
+ static VALUE unpack_uchar(VALUE self)
155
+ {
156
+ return rb_funcall(self, unpack_id, 1, C_fmt);
157
+ }
158
+
159
+ VALUE fast_xs(VALUE self)
160
+ {
161
+ long i;
162
+ struct RArray *array;
163
+ char *s, *c;
164
+ long s_len = 0;
165
+ VALUE *tmp;
166
+
167
+ array = RARRAY(rb_rescue(unpack_utf8, self, unpack_uchar, self));
168
+
169
+ tmp = array->ptr;
170
+ for (i = array->len; --i >= 0; tmp++)
171
+ s_len += escaped_len(NUM2INT(*tmp));
172
+
173
+ c = s = alloca(s_len + 1);
174
+
175
+ tmp = array->ptr;
176
+ for (i = array->len; --i >= 0; tmp++)
177
+ c += escape(c, NUM2INT(*tmp));
178
+
179
+ *c = '\0';
180
+ return rb_str_new(s, s_len);
181
+ }
182
+
183
+ void Init_fast_xs(void)
184
+ {
185
+ assert(cp_1252[159 - 128] == 376); /* just in case I skipped a line */
186
+
187
+ unpack_id = rb_intern("unpack");
188
+ U_fmt = rb_str_new("U*", 2);
189
+ C_fmt = rb_str_new("C*", 2);
190
+ rb_global_variable(&U_fmt);
191
+ rb_global_variable(&C_fmt);
192
+
193
+ rb_define_method(rb_cString, "fast_xs", fast_xs, 0);
194
+ }
@@ -1,3 +1,4 @@
1
+ // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1
2
 
2
3
  import java.io.IOException;
3
4
 
@@ -6,7 +7,9 @@ import org.jruby.RubyClass;
6
7
  import org.jruby.RubyHash;
7
8
  import org.jruby.RubyModule;
8
9
  import org.jruby.RubyNumeric;
10
+ import org.jruby.RubyObjectAdapter;
9
11
  import org.jruby.RubyString;
12
+ import org.jruby.javasupport.JavaEmbedUtils;
10
13
  import org.jruby.runtime.Block;
11
14
  import org.jruby.runtime.CallbackFactory;
12
15
  import org.jruby.runtime.builtin.IRubyObject;
@@ -15,13 +18,14 @@ import org.jruby.runtime.load.BasicLibraryService;
15
18
 
16
19
  public class HpricotScanService implements BasicLibraryService {
17
20
  public static String NO_WAY_SERIOUSLY="*** This should not happen, please send a bug report with the HTML you're parsing to why@whytheluckystiff.net. So sorry!";
21
+ private static RubyObjectAdapter rubyApi;
18
22
 
19
23
  public void ELE(IRubyObject N) {
20
- if (tokend > tokstart || text) {
24
+ if (te > ts || text) {
21
25
  IRubyObject raw_string = runtime.getNil();
22
26
  ele_open = false; text = false;
23
- if (tokstart != -1 && N != cdata && N != sym_text && N != procins && N != comment) {
24
- raw_string = runtime.newString(new String(buf,tokstart,tokend-tokstart));
27
+ if (ts != -1 && N != cdata && N != sym_text && N != procins && N != comment) {
28
+ raw_string = runtime.newString(new String(buf,ts,te-ts));
25
29
  }
26
30
  rb_yield_tokens(N, tag[0], attr, raw_string, taint);
27
31
  }
@@ -75,13 +79,13 @@ public class HpricotScanService implements BasicLibraryService {
75
79
  } else if(N == aval) {
76
80
  mark = mark_aval;
77
81
  }
78
- if(mark > tokstart) {
82
+ if(mark > ts) {
79
83
  if(N == tag) {
80
- mark_tag -= tokstart;
84
+ mark_tag -= ts;
81
85
  } else if(N == akey) {
82
- mark_akey -= tokstart;
86
+ mark_akey -= ts;
83
87
  } else if(N == aval) {
84
- mark_aval -= tokstart;
88
+ mark_aval -= ts;
85
89
  }
86
90
  }
87
91
  }
@@ -91,7 +95,8 @@ public class HpricotScanService implements BasicLibraryService {
91
95
  if(attr.isNil()) {
92
96
  attr = RubyHash.newHash(runtime);
93
97
  }
94
- ((RubyHash)attr).aset(K,V);
98
+ ((RubyHash)attr).op_aset(runtime.getCurrentContext(),K,V);
99
+ // ((RubyHash)attr).aset(K,V);
95
100
  }
96
101
  }
97
102
 
@@ -111,8 +116,8 @@ public class HpricotScanService implements BasicLibraryService {
111
116
  if(!text) {
112
117
  if(ele_open) {
113
118
  ele_open = false;
114
- if(tokstart > -1) {
115
- mark_tag = tokstart;
119
+ if(ts > -1) {
120
+ mark_tag = ts;
116
121
  }
117
122
  } else {
118
123
  mark_tag = p;
@@ -137,743 +142,617 @@ public class HpricotScanService implements BasicLibraryService {
137
142
  return runtime.newString(s);
138
143
  }
139
144
 
145
+ // line 189 "ext/hpricot_scan/hpricot_scan.java.rl"
146
+
147
+
148
+
149
+ // line 150 "ext/hpricot_scan/HpricotScanService.java"
150
+ private static byte[] init__hpricot_scan_actions_0()
151
+ {
152
+ return new byte [] {
153
+ 0, 1, 1, 1, 2, 1, 4, 1, 5, 1, 6, 1,
154
+ 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1,
155
+ 14, 1, 16, 1, 20, 1, 21, 1, 22, 1, 24, 1,
156
+ 25, 1, 26, 1, 28, 1, 29, 1, 30, 1, 32, 1,
157
+ 33, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1,
158
+ 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, 1,
159
+ 49, 1, 50, 1, 51, 2, 2, 5, 2, 2, 6, 2,
160
+ 2, 11, 2, 2, 12, 2, 2, 14, 2, 4, 39, 2,
161
+ 4, 40, 2, 4, 41, 2, 5, 2, 2, 6, 14, 2,
162
+ 7, 6, 2, 7, 14, 2, 11, 12, 2, 13, 3, 2,
163
+ 14, 6, 2, 14, 40, 2, 15, 24, 2, 15, 28, 2,
164
+ 15, 32, 2, 15, 45, 2, 17, 23, 2, 18, 27, 2,
165
+ 19, 31, 2, 22, 34, 2, 22, 36, 3, 2, 6, 14,
166
+ 3, 2, 14, 6, 3, 6, 7, 14, 3, 6, 14, 40,
167
+ 3, 7, 14, 40, 3, 11, 2, 12, 3, 14, 6, 40,
168
+ 3, 14, 13, 3, 3, 22, 0, 37, 3, 22, 2, 34,
169
+ 3, 22, 14, 35, 4, 2, 14, 13, 3, 4, 6, 7,
170
+ 14, 40, 4, 22, 2, 14, 35, 4, 22, 6, 14, 35,
171
+ 4, 22, 7, 14, 35, 4, 22, 14, 6, 35, 5, 22,
172
+ 2, 6, 14, 35, 5, 22, 2, 14, 6, 35, 5, 22,
173
+ 6, 7, 14, 35
174
+ };
175
+ }
140
176
 
177
+ private static final byte _hpricot_scan_actions[] = init__hpricot_scan_actions_0();
178
+
179
+
180
+ private static short[] init__hpricot_scan_key_offsets_0()
181
+ {
182
+ return new short [] {
183
+ 0, 3, 4, 5, 6, 7, 8, 9, 10, 13, 22, 37,
184
+ 44, 45, 46, 47, 48, 49, 52, 57, 69, 81, 86, 93,
185
+ 94, 95, 100, 101, 105, 106, 107, 121, 135, 152, 169, 186,
186
+ 203, 210, 212, 214, 220, 222, 227, 232, 238, 240, 245, 251,
187
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
188
+ 282, 296, 300, 313, 326, 340, 354, 355, 366, 375, 388, 405,
189
+ 423, 441, 450, 461, 480, 499, 510, 521, 536, 538, 540, 556,
190
+ 572, 575, 587, 599, 619, 639, 658, 677, 697, 717, 728, 739,
191
+ 751, 763, 775, 791, 794, 809, 811, 813, 829, 845, 848, 860,
192
+ 871, 890, 910, 930, 941, 952, 964, 984, 1004, 1016, 1036, 1057,
193
+ 1074, 1091, 1095, 1098, 1110, 1122, 1142, 1162, 1182, 1194, 1206, 1226,
194
+ 1242, 1258, 1270, 1291, 1310, 1313, 1328, 1340, 1355, 1358, 1369, 1371,
195
+ 1373, 1384, 1391, 1404, 1418, 1432, 1445, 1446, 1447, 1448, 1449, 1450,
196
+ 1451, 1455, 1460, 1469, 1479, 1484, 1491, 1492, 1493, 1494, 1495, 1496,
197
+ 1497, 1498, 1499, 1503, 1508, 1512, 1522, 1527, 1533, 1534, 1535, 1536,
198
+ 1537, 1538, 1539, 1540, 1541, 1542, 1546, 1551, 1553, 1554, 1555, 1560,
199
+ 1561, 1562, 1564, 1565, 1566, 1567, 1568, 1572, 1582, 1591, 1601, 1602,
200
+ 1603, 1605, 1614, 1615, 1616, 1617, 1619, 1621, 1624, 1627, 1631, 1633,
201
+ 1634, 1636, 1637, 1640
202
+ };
203
+ }
141
204
 
205
+ private static final short _hpricot_scan_key_offsets[] = init__hpricot_scan_key_offsets_0();
206
+
207
+
208
+ private static char[] init__hpricot_scan_trans_keys_0()
209
+ {
210
+ return new char [] {
211
+ 45, 68, 91, 45, 79, 67, 84, 89, 80, 69, 32, 9,
212
+ 13, 32, 58, 95, 9, 13, 65, 90, 97, 122, 32, 62,
213
+ 63, 91, 95, 9, 13, 45, 46, 48, 58, 65, 90, 97,
214
+ 122, 32, 62, 80, 83, 91, 9, 13, 85, 66, 76, 73,
215
+ 67, 32, 9, 13, 32, 34, 39, 9, 13, 9, 34, 61,
216
+ 95, 32, 37, 39, 59, 63, 90, 97, 122, 9, 34, 61,
217
+ 95, 32, 37, 39, 59, 63, 90, 97, 122, 32, 62, 91,
218
+ 9, 13, 32, 34, 39, 62, 91, 9, 13, 34, 34, 32,
219
+ 62, 91, 9, 13, 93, 32, 62, 9, 13, 39, 39, 9,
220
+ 39, 61, 95, 32, 33, 35, 37, 40, 59, 63, 90, 97,
221
+ 122, 9, 39, 61, 95, 32, 33, 35, 37, 40, 59, 63,
222
+ 90, 97, 122, 9, 32, 33, 39, 62, 91, 95, 10, 13,
223
+ 35, 37, 40, 59, 61, 90, 97, 122, 9, 32, 34, 39,
224
+ 62, 91, 95, 10, 13, 33, 37, 40, 59, 61, 90, 97,
225
+ 122, 9, 32, 33, 39, 62, 91, 95, 10, 13, 35, 37,
226
+ 40, 59, 61, 90, 97, 122, 9, 32, 34, 39, 62, 91,
227
+ 95, 10, 13, 33, 37, 40, 59, 61, 90, 97, 122, 32,
228
+ 34, 39, 62, 91, 9, 13, 34, 39, 34, 39, 32, 39,
229
+ 62, 91, 9, 13, 39, 93, 32, 62, 93, 9, 13, 32,
230
+ 39, 62, 9, 13, 32, 34, 62, 91, 9, 13, 34, 93,
231
+ 32, 34, 62, 9, 13, 32, 39, 62, 91, 9, 13, 9,
232
+ 39, 61, 95, 32, 33, 35, 37, 40, 59, 63, 90, 97,
233
+ 122, 89, 83, 84, 69, 77, 67, 68, 65, 84, 65, 91,
234
+ 58, 95, 65, 90, 97, 122, 32, 62, 63, 95, 9, 13,
235
+ 45, 46, 48, 58, 65, 90, 97, 122, 32, 62, 9, 13,
236
+ 32, 47, 62, 63, 95, 9, 13, 45, 58, 65, 90, 97,
237
+ 122, 32, 47, 62, 63, 95, 9, 13, 45, 58, 65, 90,
238
+ 97, 122, 32, 47, 61, 62, 63, 95, 9, 13, 45, 58,
239
+ 65, 90, 97, 122, 32, 47, 61, 62, 63, 95, 9, 13,
240
+ 45, 58, 65, 90, 97, 122, 62, 13, 32, 34, 39, 47,
241
+ 60, 62, 9, 10, 11, 12, 13, 32, 47, 60, 62, 9,
242
+ 10, 11, 12, 32, 47, 62, 63, 95, 9, 13, 45, 58,
243
+ 65, 90, 97, 122, 13, 32, 47, 60, 62, 63, 95, 9,
244
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 47,
245
+ 60, 61, 62, 63, 95, 9, 10, 11, 12, 45, 58, 65,
246
+ 90, 97, 122, 13, 32, 47, 60, 61, 62, 63, 95, 9,
247
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 47,
248
+ 60, 62, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
249
+ 62, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62,
250
+ 63, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97, 122,
251
+ 13, 32, 34, 39, 47, 60, 62, 63, 95, 9, 10, 11,
252
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 47, 60,
253
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 47, 60, 62,
254
+ 92, 9, 10, 11, 12, 32, 34, 47, 62, 63, 92, 95,
255
+ 9, 13, 45, 58, 65, 90, 97, 122, 34, 92, 34, 92,
256
+ 32, 34, 47, 61, 62, 63, 92, 95, 9, 13, 45, 58,
257
+ 65, 90, 97, 122, 32, 34, 47, 61, 62, 63, 92, 95,
258
+ 9, 13, 45, 58, 65, 90, 97, 122, 34, 62, 92, 13,
259
+ 32, 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13,
260
+ 32, 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13,
261
+ 32, 34, 39, 47, 60, 62, 63, 92, 95, 9, 10, 11,
262
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39, 47,
263
+ 60, 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65,
264
+ 90, 97, 122, 13, 32, 34, 47, 60, 62, 63, 92, 95,
265
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
266
+ 34, 47, 60, 62, 63, 92, 95, 9, 10, 11, 12, 45,
267
+ 58, 65, 90, 97, 122, 13, 32, 34, 47, 60, 61, 62,
268
+ 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97,
269
+ 122, 13, 32, 34, 47, 60, 61, 62, 63, 92, 95, 9,
270
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 34,
271
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 47,
272
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
273
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
274
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
275
+ 60, 62, 92, 9, 10, 11, 12, 32, 34, 39, 47, 62,
276
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
277
+ 39, 92, 32, 39, 47, 62, 63, 92, 95, 9, 13, 45,
278
+ 58, 65, 90, 97, 122, 39, 92, 39, 92, 32, 39, 47,
279
+ 61, 62, 63, 92, 95, 9, 13, 45, 58, 65, 90, 97,
280
+ 122, 32, 39, 47, 61, 62, 63, 92, 95, 9, 13, 45,
281
+ 58, 65, 90, 97, 122, 39, 62, 92, 13, 32, 34, 39,
282
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 39, 47,
283
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 39, 47, 60,
284
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
285
+ 97, 122, 13, 32, 39, 47, 60, 61, 62, 63, 92, 95,
286
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
287
+ 39, 47, 60, 61, 62, 63, 92, 95, 9, 10, 11, 12,
288
+ 45, 58, 65, 90, 97, 122, 13, 32, 39, 47, 60, 62,
289
+ 92, 9, 10, 11, 12, 13, 32, 39, 47, 60, 62, 92,
290
+ 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62, 92,
291
+ 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62, 63,
292
+ 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97, 122,
293
+ 13, 32, 34, 39, 47, 60, 62, 63, 92, 95, 9, 10,
294
+ 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39,
295
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39,
296
+ 47, 60, 62, 63, 92, 95, 9, 10, 11, 12, 45, 58,
297
+ 65, 90, 97, 122, 13, 32, 34, 39, 47, 60, 61, 62,
298
+ 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97,
299
+ 122, 32, 34, 39, 47, 61, 62, 63, 92, 95, 9, 13,
300
+ 45, 58, 65, 90, 97, 122, 32, 34, 39, 47, 61, 62,
301
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
302
+ 39, 62, 92, 34, 39, 92, 13, 32, 34, 39, 47, 60,
303
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
304
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
305
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
306
+ 97, 122, 13, 32, 34, 39, 47, 60, 62, 63, 92, 95,
307
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
308
+ 34, 39, 47, 60, 62, 63, 92, 95, 9, 10, 11, 12,
309
+ 45, 58, 65, 90, 97, 122, 13, 32, 34, 39, 47, 60,
310
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
311
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
312
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
313
+ 97, 122, 32, 34, 39, 47, 62, 63, 92, 95, 9, 13,
314
+ 45, 58, 65, 90, 97, 122, 32, 34, 39, 47, 62, 63,
315
+ 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 13, 32,
316
+ 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13, 32,
317
+ 34, 39, 47, 60, 61, 62, 63, 92, 95, 9, 10, 11,
318
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 39, 47, 60,
319
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
320
+ 97, 122, 34, 39, 92, 32, 39, 47, 62, 63, 92, 95,
321
+ 9, 13, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39,
322
+ 47, 60, 62, 92, 9, 10, 11, 12, 32, 34, 47, 62,
323
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
324
+ 39, 92, 13, 32, 39, 47, 60, 62, 92, 9, 10, 11,
325
+ 12, 34, 92, 39, 92, 13, 32, 34, 39, 47, 60, 62,
326
+ 9, 10, 11, 12, 58, 95, 120, 65, 90, 97, 122, 32,
327
+ 63, 95, 9, 13, 45, 46, 48, 58, 65, 90, 97, 122,
328
+ 32, 63, 95, 109, 9, 13, 45, 46, 48, 58, 65, 90,
329
+ 97, 122, 32, 63, 95, 108, 9, 13, 45, 46, 48, 58,
330
+ 65, 90, 97, 122, 32, 63, 95, 9, 13, 45, 46, 48,
331
+ 58, 65, 90, 97, 122, 101, 114, 115, 105, 111, 110, 32,
332
+ 61, 9, 13, 32, 34, 39, 9, 13, 95, 45, 46, 48,
333
+ 58, 65, 90, 97, 122, 34, 95, 45, 46, 48, 58, 65,
334
+ 90, 97, 122, 32, 62, 63, 9, 13, 32, 62, 63, 101,
335
+ 115, 9, 13, 62, 110, 99, 111, 100, 105, 110, 103, 32,
336
+ 61, 9, 13, 32, 34, 39, 9, 13, 65, 90, 97, 122,
337
+ 34, 95, 45, 46, 48, 57, 65, 90, 97, 122, 32, 62,
338
+ 63, 9, 13, 32, 62, 63, 115, 9, 13, 116, 97, 110,
339
+ 100, 97, 108, 111, 110, 101, 32, 61, 9, 13, 32, 34,
340
+ 39, 9, 13, 110, 121, 111, 34, 32, 62, 63, 9, 13,
341
+ 101, 115, 110, 121, 111, 39, 101, 115, 65, 90, 97, 122,
342
+ 39, 95, 45, 46, 48, 57, 65, 90, 97, 122, 95, 45,
343
+ 46, 48, 58, 65, 90, 97, 122, 39, 95, 45, 46, 48,
344
+ 58, 65, 90, 97, 122, 62, 62, 10, 60, 33, 47, 58,
345
+ 63, 95, 65, 90, 97, 122, 39, 93, 34, 34, 92, 39,
346
+ 92, 34, 39, 92, 32, 9, 13, 32, 118, 9, 13, 10,
347
+ 45, 45, 10, 93, 93, 10, 62, 63, 62, 0
348
+ };
349
+ }
142
350
 
143
- static final byte[] _hpricot_scan_actions = {
144
- 0, 1, 1, 1, 2, 1, 4, 1,
145
- 5, 1, 6, 1, 7, 1, 8, 1,
146
- 9, 1, 10, 1, 11, 1, 12, 1,
147
- 14, 1, 16, 1, 20, 1, 21, 1,
148
- 22, 1, 24, 1, 25, 1, 26, 1,
149
- 28, 1, 29, 1, 30, 1, 32, 1,
150
- 33, 1, 38, 1, 39, 1, 40, 1,
151
- 41, 1, 42, 1, 43, 1, 44, 1,
152
- 45, 1, 46, 1, 47, 1, 48, 1,
153
- 49, 1, 50, 2, 2, 5, 2, 2,
154
- 6, 2, 2, 11, 2, 2, 12, 2,
155
- 2, 14, 2, 4, 39, 2, 4, 40,
156
- 2, 4, 41, 2, 5, 2, 2, 6,
157
- 14, 2, 7, 6, 2, 7, 14, 2,
158
- 11, 12, 2, 13, 3, 2, 14, 6,
159
- 2, 14, 40, 2, 15, 24, 2, 15,
160
- 28, 2, 15, 32, 2, 15, 45, 2,
161
- 17, 23, 2, 18, 27, 2, 19, 31,
162
- 2, 22, 34, 2, 22, 36, 3, 2,
163
- 6, 14, 3, 2, 14, 6, 3, 6,
164
- 7, 14, 3, 6, 14, 40, 3, 7,
165
- 14, 40, 3, 14, 6, 40, 3, 14,
166
- 13, 3, 3, 22, 0, 37, 3, 22,
167
- 2, 34, 3, 22, 14, 35, 4, 2,
168
- 14, 13, 3, 4, 6, 7, 14, 40,
169
- 4, 22, 2, 14, 35, 4, 22, 6,
170
- 14, 35, 4, 22, 7, 14, 35, 4,
171
- 22, 14, 6, 35, 5, 22, 2, 6,
172
- 14, 35, 5, 22, 2, 14, 6, 35,
173
- 5, 22, 6, 7, 14, 35
174
- };
175
-
176
- static final short[] _hpricot_scan_key_offsets = {
177
- 0, 3, 4, 5, 6, 7, 8, 9,
178
- 10, 13, 22, 37, 44, 45, 46, 47,
179
- 48, 49, 52, 57, 69, 81, 86, 93,
180
- 94, 95, 100, 101, 105, 106, 107, 121,
181
- 135, 152, 169, 186, 203, 210, 212, 214,
182
- 220, 222, 227, 232, 238, 240, 245, 251,
183
- 265, 266, 267, 268, 269, 270, 271, 272,
184
- 273, 274, 275, 276, 282, 296, 300, 313,
185
- 326, 340, 354, 355, 366, 375, 388, 405,
186
- 423, 441, 450, 461, 480, 499, 510, 521,
187
- 536, 538, 540, 556, 572, 575, 587, 599,
188
- 619, 639, 658, 677, 697, 717, 728, 739,
189
- 751, 763, 775, 791, 794, 809, 811, 813,
190
- 829, 845, 848, 860, 871, 890, 910, 930,
191
- 941, 952, 964, 984, 1004, 1016, 1036, 1057,
192
- 1074, 1091, 1095, 1098, 1110, 1122, 1142, 1162,
193
- 1182, 1194, 1206, 1226, 1242, 1258, 1270, 1291,
194
- 1310, 1313, 1328, 1340, 1355, 1358, 1369, 1371,
195
- 1373, 1384, 1391, 1404, 1418, 1432, 1445, 1446,
196
- 1447, 1448, 1449, 1450, 1451, 1455, 1460, 1469,
197
- 1479, 1484, 1491, 1492, 1493, 1494, 1495, 1496,
198
- 1497, 1498, 1499, 1503, 1508, 1512, 1522, 1527,
199
- 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540,
200
- 1541, 1542, 1546, 1551, 1553, 1554, 1555, 1560,
201
- 1561, 1562, 1564, 1565, 1566, 1567, 1568, 1572,
202
- 1582, 1591, 1601, 1602, 1603, 1605, 1614, 1615,
203
- 1616, 1617, 1619, 1621, 1624, 1627, 1631, 1633,
204
- 1634, 1636, 1637, 1640
205
- };
206
-
207
- static final char[] _hpricot_scan_trans_keys = {
208
- 45, 68, 91, 45, 79, 67, 84, 89,
209
- 80, 69, 32, 9, 13, 32, 58, 95,
210
- 9, 13, 65, 90, 97, 122, 32, 62,
211
- 63, 91, 95, 9, 13, 45, 46, 48,
212
- 58, 65, 90, 97, 122, 32, 62, 80,
213
- 83, 91, 9, 13, 85, 66, 76, 73,
214
- 67, 32, 9, 13, 32, 34, 39, 9,
215
- 13, 9, 34, 61, 95, 32, 37, 39,
216
- 59, 63, 90, 97, 122, 9, 34, 61,
217
- 95, 32, 37, 39, 59, 63, 90, 97,
218
- 122, 32, 62, 91, 9, 13, 32, 34,
219
- 39, 62, 91, 9, 13, 34, 34, 32,
220
- 62, 91, 9, 13, 93, 32, 62, 9,
221
- 13, 39, 39, 9, 39, 61, 95, 32,
222
- 33, 35, 37, 40, 59, 63, 90, 97,
223
- 122, 9, 39, 61, 95, 32, 33, 35,
224
- 37, 40, 59, 63, 90, 97, 122, 9,
225
- 32, 33, 39, 62, 91, 95, 10, 13,
226
- 35, 37, 40, 59, 61, 90, 97, 122,
227
- 9, 32, 34, 39, 62, 91, 95, 10,
228
- 13, 33, 37, 40, 59, 61, 90, 97,
229
- 122, 9, 32, 33, 39, 62, 91, 95,
230
- 10, 13, 35, 37, 40, 59, 61, 90,
231
- 97, 122, 9, 32, 34, 39, 62, 91,
232
- 95, 10, 13, 33, 37, 40, 59, 61,
233
- 90, 97, 122, 32, 34, 39, 62, 91,
234
- 9, 13, 34, 39, 34, 39, 32, 39,
235
- 62, 91, 9, 13, 39, 93, 32, 62,
236
- 93, 9, 13, 32, 39, 62, 9, 13,
237
- 32, 34, 62, 91, 9, 13, 34, 93,
238
- 32, 34, 62, 9, 13, 32, 39, 62,
239
- 91, 9, 13, 9, 39, 61, 95, 32,
240
- 33, 35, 37, 40, 59, 63, 90, 97,
241
- 122, 89, 83, 84, 69, 77, 67, 68,
242
- 65, 84, 65, 91, 58, 95, 65, 90,
243
- 97, 122, 32, 62, 63, 95, 9, 13,
244
- 45, 46, 48, 58, 65, 90, 97, 122,
245
- 32, 62, 9, 13, 32, 47, 62, 63,
246
- 95, 9, 13, 45, 58, 65, 90, 97,
247
- 122, 32, 47, 62, 63, 95, 9, 13,
248
- 45, 58, 65, 90, 97, 122, 32, 47,
249
- 61, 62, 63, 95, 9, 13, 45, 58,
250
- 65, 90, 97, 122, 32, 47, 61, 62,
251
- 63, 95, 9, 13, 45, 58, 65, 90,
252
- 97, 122, 62, 13, 32, 34, 39, 47,
253
- 60, 62, 9, 10, 11, 12, 13, 32,
254
- 47, 60, 62, 9, 10, 11, 12, 32,
255
- 47, 62, 63, 95, 9, 13, 45, 58,
256
- 65, 90, 97, 122, 13, 32, 47, 60,
257
- 62, 63, 95, 9, 10, 11, 12, 45,
258
- 58, 65, 90, 97, 122, 13, 32, 47,
259
- 60, 61, 62, 63, 95, 9, 10, 11,
260
- 12, 45, 58, 65, 90, 97, 122, 13,
261
- 32, 47, 60, 61, 62, 63, 95, 9,
262
- 10, 11, 12, 45, 58, 65, 90, 97,
263
- 122, 13, 32, 47, 60, 62, 9, 10,
264
- 11, 12, 13, 32, 34, 39, 47, 60,
265
- 62, 9, 10, 11, 12, 13, 32, 34,
266
- 39, 47, 60, 62, 63, 95, 9, 10,
267
- 11, 12, 45, 58, 65, 90, 97, 122,
268
- 13, 32, 34, 39, 47, 60, 62, 63,
269
- 95, 9, 10, 11, 12, 45, 58, 65,
270
- 90, 97, 122, 13, 32, 34, 47, 60,
271
- 62, 92, 9, 10, 11, 12, 13, 32,
272
- 34, 47, 60, 62, 92, 9, 10, 11,
273
- 12, 32, 34, 47, 62, 63, 92, 95,
274
- 9, 13, 45, 58, 65, 90, 97, 122,
275
- 34, 92, 34, 92, 32, 34, 47, 61,
276
- 62, 63, 92, 95, 9, 13, 45, 58,
277
- 65, 90, 97, 122, 32, 34, 47, 61,
278
- 62, 63, 92, 95, 9, 13, 45, 58,
279
- 65, 90, 97, 122, 34, 62, 92, 13,
280
- 32, 34, 39, 47, 60, 62, 92, 9,
281
- 10, 11, 12, 13, 32, 34, 39, 47,
282
- 60, 62, 92, 9, 10, 11, 12, 13,
283
- 32, 34, 39, 47, 60, 62, 63, 92,
284
- 95, 9, 10, 11, 12, 45, 58, 65,
285
- 90, 97, 122, 13, 32, 34, 39, 47,
286
- 60, 62, 63, 92, 95, 9, 10, 11,
287
- 12, 45, 58, 65, 90, 97, 122, 13,
288
- 32, 34, 47, 60, 62, 63, 92, 95,
289
- 9, 10, 11, 12, 45, 58, 65, 90,
290
- 97, 122, 13, 32, 34, 47, 60, 62,
291
- 63, 92, 95, 9, 10, 11, 12, 45,
292
- 58, 65, 90, 97, 122, 13, 32, 34,
293
- 47, 60, 61, 62, 63, 92, 95, 9,
294
- 10, 11, 12, 45, 58, 65, 90, 97,
295
- 122, 13, 32, 34, 47, 60, 61, 62,
296
- 63, 92, 95, 9, 10, 11, 12, 45,
297
- 58, 65, 90, 97, 122, 13, 32, 34,
298
- 47, 60, 62, 92, 9, 10, 11, 12,
299
- 13, 32, 34, 47, 60, 62, 92, 9,
300
- 10, 11, 12, 13, 32, 34, 39, 47,
301
- 60, 62, 92, 9, 10, 11, 12, 13,
302
- 32, 34, 39, 47, 60, 62, 92, 9,
303
- 10, 11, 12, 13, 32, 34, 39, 47,
304
- 60, 62, 92, 9, 10, 11, 12, 32,
305
- 34, 39, 47, 62, 63, 92, 95, 9,
306
- 13, 45, 58, 65, 90, 97, 122, 34,
307
- 39, 92, 32, 39, 47, 62, 63, 92,
308
- 95, 9, 13, 45, 58, 65, 90, 97,
309
- 122, 39, 92, 39, 92, 32, 39, 47,
310
- 61, 62, 63, 92, 95, 9, 13, 45,
311
- 58, 65, 90, 97, 122, 32, 39, 47,
312
- 61, 62, 63, 92, 95, 9, 13, 45,
313
- 58, 65, 90, 97, 122, 39, 62, 92,
314
- 13, 32, 34, 39, 47, 60, 62, 92,
315
- 9, 10, 11, 12, 13, 32, 39, 47,
316
- 60, 62, 92, 9, 10, 11, 12, 13,
317
- 32, 39, 47, 60, 62, 63, 92, 95,
318
- 9, 10, 11, 12, 45, 58, 65, 90,
319
- 97, 122, 13, 32, 39, 47, 60, 61,
320
- 62, 63, 92, 95, 9, 10, 11, 12,
321
- 45, 58, 65, 90, 97, 122, 13, 32,
322
- 39, 47, 60, 61, 62, 63, 92, 95,
323
- 9, 10, 11, 12, 45, 58, 65, 90,
324
- 97, 122, 13, 32, 39, 47, 60, 62,
325
- 92, 9, 10, 11, 12, 13, 32, 39,
326
- 47, 60, 62, 92, 9, 10, 11, 12,
327
- 13, 32, 34, 39, 47, 60, 62, 92,
328
- 9, 10, 11, 12, 13, 32, 34, 39,
329
- 47, 60, 62, 63, 92, 95, 9, 10,
330
- 11, 12, 45, 58, 65, 90, 97, 122,
331
- 13, 32, 34, 39, 47, 60, 62, 63,
332
- 92, 95, 9, 10, 11, 12, 45, 58,
333
- 65, 90, 97, 122, 13, 32, 34, 39,
334
- 47, 60, 62, 92, 9, 10, 11, 12,
335
- 13, 32, 34, 39, 47, 60, 62, 63,
336
- 92, 95, 9, 10, 11, 12, 45, 58,
337
- 65, 90, 97, 122, 13, 32, 34, 39,
338
- 47, 60, 61, 62, 63, 92, 95, 9,
339
- 10, 11, 12, 45, 58, 65, 90, 97,
340
- 122, 32, 34, 39, 47, 61, 62, 63,
341
- 92, 95, 9, 13, 45, 58, 65, 90,
342
- 97, 122, 32, 34, 39, 47, 61, 62,
343
- 63, 92, 95, 9, 13, 45, 58, 65,
344
- 90, 97, 122, 34, 39, 62, 92, 34,
345
- 39, 92, 13, 32, 34, 39, 47, 60,
346
- 62, 92, 9, 10, 11, 12, 13, 32,
347
- 34, 39, 47, 60, 62, 92, 9, 10,
348
- 11, 12, 13, 32, 34, 39, 47, 60,
349
- 62, 63, 92, 95, 9, 10, 11, 12,
350
- 45, 58, 65, 90, 97, 122, 13, 32,
351
- 34, 39, 47, 60, 62, 63, 92, 95,
352
- 9, 10, 11, 12, 45, 58, 65, 90,
353
- 97, 122, 13, 32, 34, 39, 47, 60,
354
- 62, 63, 92, 95, 9, 10, 11, 12,
355
- 45, 58, 65, 90, 97, 122, 13, 32,
356
- 34, 39, 47, 60, 62, 92, 9, 10,
357
- 11, 12, 13, 32, 34, 39, 47, 60,
358
- 62, 92, 9, 10, 11, 12, 13, 32,
359
- 34, 39, 47, 60, 62, 63, 92, 95,
360
- 9, 10, 11, 12, 45, 58, 65, 90,
361
- 97, 122, 32, 34, 39, 47, 62, 63,
362
- 92, 95, 9, 13, 45, 58, 65, 90,
363
- 97, 122, 32, 34, 39, 47, 62, 63,
364
- 92, 95, 9, 13, 45, 58, 65, 90,
365
- 97, 122, 13, 32, 34, 39, 47, 60,
366
- 62, 92, 9, 10, 11, 12, 13, 32,
367
- 34, 39, 47, 60, 61, 62, 63, 92,
368
- 95, 9, 10, 11, 12, 45, 58, 65,
369
- 90, 97, 122, 13, 32, 39, 47, 60,
370
- 62, 63, 92, 95, 9, 10, 11, 12,
371
- 45, 58, 65, 90, 97, 122, 34, 39,
372
- 92, 32, 39, 47, 62, 63, 92, 95,
373
- 9, 13, 45, 58, 65, 90, 97, 122,
374
- 13, 32, 34, 39, 47, 60, 62, 92,
375
- 9, 10, 11, 12, 32, 34, 47, 62,
376
- 63, 92, 95, 9, 13, 45, 58, 65,
377
- 90, 97, 122, 34, 39, 92, 13, 32,
378
- 39, 47, 60, 62, 92, 9, 10, 11,
379
- 12, 34, 92, 39, 92, 13, 32, 34,
380
- 39, 47, 60, 62, 9, 10, 11, 12,
381
- 58, 95, 120, 65, 90, 97, 122, 32,
382
- 63, 95, 9, 13, 45, 46, 48, 58,
383
- 65, 90, 97, 122, 32, 63, 95, 109,
384
- 9, 13, 45, 46, 48, 58, 65, 90,
385
- 97, 122, 32, 63, 95, 108, 9, 13,
386
- 45, 46, 48, 58, 65, 90, 97, 122,
387
- 32, 63, 95, 9, 13, 45, 46, 48,
388
- 58, 65, 90, 97, 122, 101, 114, 115,
389
- 105, 111, 110, 32, 61, 9, 13, 32,
390
- 34, 39, 9, 13, 95, 45, 46, 48,
391
- 58, 65, 90, 97, 122, 34, 95, 45,
392
- 46, 48, 58, 65, 90, 97, 122, 32,
393
- 62, 63, 9, 13, 32, 62, 63, 101,
394
- 115, 9, 13, 62, 110, 99, 111, 100,
395
- 105, 110, 103, 32, 61, 9, 13, 32,
396
- 34, 39, 9, 13, 65, 90, 97, 122,
397
- 34, 95, 45, 46, 48, 57, 65, 90,
398
- 97, 122, 32, 62, 63, 9, 13, 32,
399
- 62, 63, 115, 9, 13, 116, 97, 110,
400
- 100, 97, 108, 111, 110, 101, 32, 61,
401
- 9, 13, 32, 34, 39, 9, 13, 110,
402
- 121, 111, 34, 32, 62, 63, 9, 13,
403
- 101, 115, 110, 121, 111, 39, 101, 115,
404
- 65, 90, 97, 122, 39, 95, 45, 46,
405
- 48, 57, 65, 90, 97, 122, 95, 45,
406
- 46, 48, 58, 65, 90, 97, 122, 39,
407
- 95, 45, 46, 48, 58, 65, 90, 97,
408
- 122, 62, 62, 10, 60, 33, 47, 58,
409
- 63, 95, 65, 90, 97, 122, 39, 93,
410
- 34, 34, 92, 39, 92, 34, 39, 92,
411
- 32, 9, 13, 32, 118, 9, 13, 10,
412
- 45, 45, 10, 93, 93, 10, 62, 63,
413
- 62, 0
414
- };
415
-
416
- static final byte[] _hpricot_scan_single_lengths = {
417
- 3, 1, 1, 1, 1, 1, 1, 1,
418
- 1, 3, 5, 5, 1, 1, 1, 1,
419
- 1, 1, 3, 4, 4, 3, 5, 1,
420
- 1, 3, 1, 2, 1, 1, 4, 4,
421
- 7, 7, 7, 7, 5, 2, 2, 4,
422
- 2, 3, 3, 4, 2, 3, 4, 4,
423
- 1, 1, 1, 1, 1, 1, 1, 1,
424
- 1, 1, 1, 2, 4, 2, 5, 5,
425
- 6, 6, 1, 7, 5, 5, 7, 8,
426
- 8, 5, 7, 9, 9, 7, 7, 7,
427
- 2, 2, 8, 8, 3, 8, 8, 10,
428
- 10, 9, 9, 10, 10, 7, 7, 8,
429
- 8, 8, 8, 3, 7, 2, 2, 8,
430
- 8, 3, 8, 7, 9, 10, 10, 7,
431
- 7, 8, 10, 10, 8, 10, 11, 9,
432
- 9, 4, 3, 8, 8, 10, 10, 10,
433
- 8, 8, 10, 8, 8, 8, 11, 9,
434
- 3, 7, 8, 7, 3, 7, 2, 2,
435
- 7, 3, 3, 4, 4, 3, 1, 1,
436
- 1, 1, 1, 1, 2, 3, 1, 2,
437
- 3, 5, 1, 1, 1, 1, 1, 1,
438
- 1, 1, 2, 3, 0, 2, 3, 4,
439
- 1, 1, 1, 1, 1, 1, 1, 1,
440
- 1, 2, 3, 2, 1, 1, 3, 1,
441
- 1, 2, 1, 1, 1, 1, 0, 2,
442
- 1, 2, 1, 1, 2, 5, 1, 1,
443
- 1, 2, 2, 3, 1, 2, 2, 1,
444
- 2, 1, 3, 1
445
- };
446
-
447
- static final byte[] _hpricot_scan_range_lengths = {
448
- 0, 0, 0, 0, 0, 0, 0, 0,
449
- 1, 3, 5, 1, 0, 0, 0, 0,
450
- 0, 1, 1, 4, 4, 1, 1, 0,
451
- 0, 1, 0, 1, 0, 0, 5, 5,
452
- 5, 5, 5, 5, 1, 0, 0, 1,
453
- 0, 1, 1, 1, 0, 1, 1, 5,
454
- 0, 0, 0, 0, 0, 0, 0, 0,
455
- 0, 0, 0, 2, 5, 1, 4, 4,
456
- 4, 4, 0, 2, 2, 4, 5, 5,
457
- 5, 2, 2, 5, 5, 2, 2, 4,
458
- 0, 0, 4, 4, 0, 2, 2, 5,
459
- 5, 5, 5, 5, 5, 2, 2, 2,
460
- 2, 2, 4, 0, 4, 0, 0, 4,
461
- 4, 0, 2, 2, 5, 5, 5, 2,
462
- 2, 2, 5, 5, 2, 5, 5, 4,
463
- 4, 0, 0, 2, 2, 5, 5, 5,
464
- 2, 2, 5, 4, 4, 2, 5, 5,
465
- 0, 4, 2, 4, 0, 2, 0, 0,
466
- 2, 2, 5, 5, 5, 5, 0, 0,
467
- 0, 0, 0, 0, 1, 1, 4, 4,
468
- 1, 1, 0, 0, 0, 0, 0, 0,
469
- 0, 0, 1, 1, 2, 4, 1, 1,
470
- 0, 0, 0, 0, 0, 0, 0, 0,
471
- 0, 1, 1, 0, 0, 0, 1, 0,
472
- 0, 0, 0, 0, 0, 0, 2, 4,
473
- 4, 4, 0, 0, 0, 2, 0, 0,
474
- 0, 0, 0, 0, 1, 1, 0, 0,
475
- 0, 0, 0, 0
476
- };
477
-
478
- static final short[] _hpricot_scan_index_offsets = {
479
- 0, 4, 6, 8, 10, 12, 14, 16,
480
- 18, 21, 28, 39, 46, 48, 50, 52,
481
- 54, 56, 59, 64, 73, 82, 87, 94,
482
- 96, 98, 103, 105, 109, 111, 113, 123,
483
- 133, 146, 159, 172, 185, 192, 195, 198,
484
- 204, 207, 212, 217, 223, 226, 231, 237,
485
- 247, 249, 251, 253, 255, 257, 259, 261,
486
- 263, 265, 267, 269, 274, 284, 288, 298,
487
- 308, 319, 330, 332, 342, 350, 360, 373,
488
- 387, 401, 409, 419, 434, 449, 459, 469,
489
- 481, 484, 487, 500, 513, 517, 528, 539,
490
- 555, 571, 586, 601, 617, 633, 643, 653,
491
- 664, 675, 686, 699, 703, 715, 718, 721,
492
- 734, 747, 751, 762, 772, 787, 803, 819,
493
- 829, 839, 850, 866, 882, 893, 909, 926,
494
- 940, 954, 959, 963, 974, 985, 1001, 1017,
495
- 1033, 1044, 1055, 1071, 1084, 1097, 1108, 1125,
496
- 1140, 1144, 1156, 1167, 1179, 1183, 1193, 1196,
497
- 1199, 1209, 1215, 1224, 1234, 1244, 1253, 1255,
498
- 1257, 1259, 1261, 1263, 1265, 1269, 1274, 1280,
499
- 1287, 1292, 1299, 1301, 1303, 1305, 1307, 1309,
500
- 1311, 1313, 1315, 1319, 1324, 1327, 1334, 1339,
501
- 1345, 1347, 1349, 1351, 1353, 1355, 1357, 1359,
502
- 1361, 1363, 1367, 1372, 1375, 1377, 1379, 1384,
503
- 1386, 1388, 1391, 1393, 1395, 1397, 1399, 1402,
504
- 1409, 1415, 1422, 1424, 1426, 1429, 1437, 1439,
505
- 1441, 1443, 1446, 1449, 1453, 1456, 1460, 1463,
506
- 1465, 1468, 1470, 1474
507
- };
508
-
509
- static final short[] _hpricot_scan_indicies = {
510
- 335, 336, 337, 296, 356, 296, 349, 296,
511
- 399, 296, 401, 296, 354, 296, 350, 296,
512
- 400, 296, 308, 308, 296, 308, 309, 309,
513
- 308, 309, 309, 296, 328, 330, 329, 331,
514
- 329, 328, 329, 329, 329, 329, 296, 310,
515
- 302, 311, 312, 0, 310, 296, 353, 296,
516
- 342, 296, 347, 296, 346, 296, 343, 296,
517
- 304, 304, 296, 304, 305, 306, 304, 296,
518
- 321, 320, 321, 321, 321, 321, 321, 321,
519
- 296, 319, 320, 319, 319, 319, 319, 319,
520
- 319, 296, 298, 302, 0, 298, 296, 298,
521
- 300, 307, 302, 0, 298, 296, 6, 222,
522
- 6, 13, 358, 302, 0, 358, 69, 1,
523
- 0, 1, 302, 1, 69, 6, 182, 6,
524
- 5, 322, 323, 322, 322, 322, 322, 322,
525
- 322, 322, 296, 299, 303, 299, 299, 299,
526
- 299, 299, 299, 299, 296, 297, 297, 299,
527
- 303, 302, 0, 299, 298, 299, 299, 299,
528
- 299, 296, 297, 297, 300, 301, 302, 0,
529
- 299, 298, 299, 299, 299, 299, 296, 186,
530
- 186, 188, 42, 184, 185, 188, 187, 188,
531
- 188, 188, 188, 182, 43, 43, 38, 44,
532
- 40, 34, 41, 37, 41, 41, 41, 41,
533
- 5, 37, 38, 39, 40, 34, 37, 5,
534
- 63, 224, 223, 63, 64, 62, 371, 6,
535
- 40, 34, 371, 5, 35, 36, 34, 26,
536
- 27, 1, 26, 0, 36, 6, 40, 36,
537
- 5, 60, 6, 61, 58, 60, 13, 35,
538
- 59, 58, 59, 6, 61, 59, 13, 183,
539
- 6, 184, 185, 183, 182, 41, 42, 41,
540
- 41, 41, 41, 41, 41, 41, 5, 403,
541
- 296, 351, 296, 352, 296, 345, 296, 348,
542
- 296, 398, 296, 344, 296, 341, 296, 402,
543
- 296, 397, 296, 355, 296, 338, 338, 338,
544
- 338, 296, 332, 334, 333, 333, 332, 333,
545
- 333, 333, 333, 296, 313, 314, 313, 296,
546
- 324, 326, 327, 325, 325, 324, 325, 325,
547
- 325, 296, 315, 317, 318, 316, 316, 315,
548
- 316, 316, 316, 296, 364, 366, 367, 368,
549
- 365, 365, 364, 365, 365, 365, 69, 359,
550
- 361, 362, 162, 360, 360, 359, 360, 360,
551
- 360, 69, 369, 69, 157, 157, 159, 160,
552
- 161, 69, 162, 157, 158, 156, 66, 66,
553
- 68, 69, 70, 66, 67, 65, 363, 361,
554
- 162, 360, 360, 363, 360, 360, 360, 69,
555
- 66, 66, 74, 69, 76, 73, 73, 66,
556
- 67, 73, 73, 73, 65, 132, 132, 135,
557
- 69, 136, 137, 134, 134, 132, 133, 134,
558
- 134, 134, 65, 71, 71, 74, 69, 75,
559
- 76, 73, 73, 71, 72, 73, 73, 73,
560
- 65, 66, 66, 68, 69, 70, 66, 67,
561
- 65, 226, 226, 228, 229, 230, 69, 70,
562
- 226, 227, 156, 163, 163, 159, 160, 161,
563
- 69, 162, 165, 165, 163, 164, 165, 165,
564
- 165, 156, 226, 226, 228, 229, 231, 69,
565
- 76, 165, 165, 226, 227, 165, 165, 165,
566
- 156, 248, 248, 84, 246, 199, 250, 195,
567
- 248, 249, 189, 92, 92, 84, 95, 7,
568
- 96, 97, 92, 93, 91, 372, 3, 48,
569
- 50, 47, 8, 47, 372, 47, 47, 47,
570
- 7, 3, 8, 7, 11, 8, 7, 122,
571
- 3, 124, 125, 126, 123, 8, 123, 122,
572
- 123, 123, 123, 7, 46, 3, 48, 49,
573
- 50, 47, 8, 47, 46, 47, 47, 47,
574
- 7, 3, 45, 8, 7, 190, 190, 192,
575
- 193, 194, 7, 50, 195, 190, 191, 189,
576
- 196, 196, 192, 193, 194, 7, 50, 195,
577
- 196, 197, 189, 196, 196, 192, 193, 194,
578
- 7, 50, 198, 195, 198, 196, 197, 198,
579
- 198, 198, 189, 242, 242, 244, 245, 247,
580
- 7, 103, 198, 195, 198, 242, 243, 198,
581
- 198, 198, 189, 248, 248, 84, 247, 199,
582
- 251, 198, 195, 198, 248, 249, 198, 198,
583
- 198, 189, 92, 92, 84, 101, 7, 103,
584
- 100, 97, 100, 92, 93, 100, 100, 100,
585
- 91, 144, 144, 84, 147, 7, 148, 149,
586
- 146, 97, 146, 144, 145, 146, 146, 146,
587
- 91, 98, 98, 84, 101, 7, 102, 103,
588
- 100, 97, 100, 98, 99, 100, 100, 100,
589
- 91, 92, 92, 84, 95, 7, 96, 97,
590
- 92, 93, 91, 92, 92, 94, 95, 7,
591
- 96, 97, 92, 93, 91, 242, 242, 244,
592
- 245, 246, 7, 96, 195, 242, 243, 189,
593
- 258, 258, 263, 94, 256, 215, 261, 211,
594
- 258, 259, 205, 105, 105, 80, 94, 108,
595
- 9, 109, 110, 105, 106, 104, 373, 10,
596
- 11, 55, 57, 54, 12, 54, 373, 54,
597
- 54, 54, 9, 10, 11, 12, 9, 370,
598
- 3, 31, 33, 30, 4, 30, 370, 30,
599
- 30, 30, 2, 3, 4, 2, 10, 4,
600
- 2, 117, 3, 119, 120, 121, 118, 4,
601
- 118, 117, 118, 118, 118, 2, 29, 3,
602
- 31, 32, 33, 30, 4, 30, 29, 30,
603
- 30, 30, 2, 3, 28, 4, 2, 167,
604
- 167, 169, 170, 171, 2, 33, 172, 167,
605
- 168, 166, 78, 78, 84, 81, 2, 82,
606
- 83, 78, 79, 77, 78, 78, 84, 88,
607
- 2, 90, 87, 83, 87, 78, 79, 87,
608
- 87, 87, 77, 138, 138, 84, 141, 2,
609
- 142, 143, 140, 83, 140, 138, 139, 140,
610
- 140, 140, 77, 85, 85, 84, 88, 2,
611
- 89, 90, 87, 83, 87, 85, 86, 87,
612
- 87, 87, 77, 78, 78, 84, 81, 2,
613
- 82, 83, 78, 79, 77, 78, 78, 80,
614
- 81, 2, 82, 83, 78, 79, 77, 232,
615
- 232, 234, 235, 236, 2, 82, 172, 232,
616
- 233, 166, 173, 173, 169, 170, 171, 2,
617
- 33, 175, 172, 175, 173, 174, 175, 175,
618
- 175, 166, 232, 232, 234, 235, 237, 2,
619
- 90, 175, 172, 175, 232, 233, 175, 175,
620
- 175, 166, 258, 258, 80, 260, 256, 215,
621
- 261, 211, 258, 259, 205, 105, 105, 80,
622
- 94, 114, 9, 116, 113, 110, 113, 105,
623
- 106, 113, 113, 113, 104, 150, 150, 80,
624
- 94, 153, 9, 154, 155, 152, 110, 152,
625
- 150, 151, 152, 152, 152, 104, 53, 10,
626
- 11, 55, 56, 57, 54, 12, 54, 53,
627
- 54, 54, 54, 9, 127, 10, 11, 129,
628
- 130, 131, 128, 12, 128, 127, 128, 128,
629
- 128, 9, 10, 11, 52, 12, 9, 51,
630
- 51, 12, 9, 206, 206, 208, 209, 210,
631
- 9, 57, 211, 206, 207, 205, 212, 212,
632
- 208, 209, 210, 9, 57, 211, 212, 213,
633
- 205, 212, 212, 208, 209, 210, 9, 57,
634
- 214, 211, 214, 212, 213, 214, 214, 214,
635
- 205, 252, 252, 254, 255, 257, 9, 116,
636
- 214, 211, 214, 252, 253, 214, 214, 214,
637
- 205, 258, 258, 80, 260, 257, 215, 262,
638
- 214, 211, 214, 258, 259, 214, 214, 214,
639
- 205, 105, 105, 80, 94, 108, 9, 109,
640
- 110, 105, 106, 104, 105, 105, 107, 107,
641
- 108, 9, 109, 110, 105, 106, 104, 258,
642
- 258, 263, 94, 257, 215, 262, 214, 211,
643
- 214, 258, 259, 214, 214, 214, 205, 218,
644
- 10, 216, 220, 221, 219, 217, 219, 218,
645
- 219, 219, 219, 215, 218, 225, 11, 220,
646
- 221, 219, 217, 219, 218, 219, 219, 219,
647
- 215, 252, 252, 254, 255, 256, 9, 109,
648
- 211, 252, 253, 205, 111, 111, 80, 94,
649
- 114, 9, 115, 116, 113, 110, 113, 111,
650
- 112, 113, 113, 113, 104, 238, 238, 84,
651
- 237, 176, 241, 175, 172, 175, 238, 239,
652
- 175, 175, 175, 166, 10, 216, 217, 215,
653
- 178, 3, 180, 181, 179, 177, 179, 178,
654
- 179, 179, 179, 176, 173, 173, 169, 170,
655
- 171, 2, 33, 172, 173, 174, 166, 201,
656
- 3, 203, 204, 202, 200, 202, 201, 202,
657
- 202, 202, 199, 225, 11, 217, 215, 238,
658
- 238, 84, 236, 176, 240, 172, 238, 239,
659
- 166, 3, 200, 199, 3, 177, 176, 163,
660
- 163, 159, 160, 161, 69, 162, 163, 164,
661
- 156, 339, 339, 340, 339, 339, 296, 15,
662
- 357, 357, 15, 357, 357, 357, 357, 296,
663
- 15, 357, 357, 408, 15, 357, 357, 357,
664
- 357, 296, 15, 357, 357, 404, 15, 357,
665
- 357, 357, 357, 296, 16, 357, 357, 16,
666
- 357, 357, 357, 357, 296, 287, 264, 294,
667
- 264, 396, 264, 387, 264, 393, 264, 268,
668
- 264, 268, 265, 268, 264, 265, 266, 267,
669
- 265, 264, 282, 282, 282, 282, 282, 264,
670
- 275, 276, 276, 276, 276, 276, 264, 269,
671
- 270, 271, 269, 264, 269, 270, 271, 272,
672
- 273, 269, 264, 270, 264, 388, 264, 285,
673
- 264, 394, 264, 385, 264, 289, 264, 390,
674
- 264, 288, 264, 288, 374, 288, 264, 374,
675
- 375, 376, 374, 264, 283, 283, 264, 277,
676
- 278, 278, 278, 278, 278, 264, 274, 270,
677
- 271, 274, 264, 274, 270, 271, 273, 274,
678
- 264, 295, 264, 384, 264, 389, 264, 286,
679
- 264, 284, 264, 290, 264, 395, 264, 391,
680
- 264, 380, 264, 380, 377, 380, 264, 377,
681
- 378, 379, 377, 264, 291, 292, 264, 293,
682
- 264, 279, 264, 381, 270, 271, 381, 264,
683
- 386, 264, 293, 264, 405, 406, 264, 392,
684
- 264, 279, 264, 407, 264, 392, 264, 383,
685
- 383, 264, 277, 281, 281, 281, 281, 281,
686
- 264, 382, 382, 382, 382, 382, 264, 275,
687
- 280, 280, 280, 280, 280, 264, 415, 414,
688
- 422, 421, 24, 25, 23, 19, 20, 21,
689
- 22, 21, 21, 21, 18, 6, 5, 1,
690
- 0, 6, 13, 3, 8, 7, 3, 4,
691
- 2, 10, 11, 12, 9, 15, 15, 14,
692
- 16, 17, 16, 14, 412, 413, 411, 410,
693
- 409, 419, 420, 418, 417, 416, 426, 424,
694
- 427, 425, 424, 423, 0
695
- };
696
-
697
- static final short[] _hpricot_scan_trans_targs_wi = {
698
- 26, 27, 101, 69, 102, 29, 25, 80,
699
- 81, 99, 100, 79, 122, 24, 204, 212,
700
- 213, 150, 204, 0, 59, 62, 145, 204,
701
- 204, 205, 41, 207, 210, 104, 103, 105,
702
- 106, 210, 40, 41, 42, 36, 37, 46,
703
- 206, 47, 32, 35, 34, 209, 83, 82,
704
- 84, 85, 209, 98, 211, 119, 120, 121,
705
- 123, 211, 44, 45, 43, 208, 38, 39,
706
- 43, 68, 69, 70, 73, 204, 204, 65,
707
- 72, 71, 73, 74, 204, 107, 100, 108,
708
- 108, 111, 210, 112, 70, 104, 110, 109,
709
- 111, 113, 210, 78, 79, 90, 90, 93,
710
- 209, 94, 83, 92, 91, 93, 95, 209,
711
- 97, 98, 117, 117, 128, 211, 129, 119,
712
- 134, 118, 128, 133, 211, 104, 103, 105,
713
- 106, 210, 83, 82, 84, 85, 209, 119,
714
- 120, 121, 123, 211, 65, 72, 71, 73,
715
- 74, 204, 104, 110, 109, 111, 113, 210,
716
- 83, 92, 91, 93, 95, 209, 119, 134,
717
- 118, 128, 133, 211, 68, 144, 74, 142,
718
- 143, 73, 204, 75, 76, 71, 107, 138,
719
- 113, 136, 137, 111, 112, 114, 115, 109,
720
- 101, 102, 100, 103, 105, 210, 29, 39,
721
- 206, 40, 35, 36, 47, 78, 86, 95,
722
- 139, 140, 93, 94, 87, 88, 91, 80,
723
- 81, 79, 82, 84, 209, 97, 124, 133,
724
- 131, 132, 128, 129, 125, 126, 118, 99,
725
- 79, 122, 98, 120, 121, 211, 24, 38,
726
- 43, 100, 75, 76, 77, 141, 73, 73,
727
- 114, 115, 116, 135, 111, 111, 100, 108,
728
- 210, 210, 87, 88, 89, 96, 93, 93,
729
- 79, 90, 209, 209, 125, 126, 127, 130,
730
- 128, 128, 98, 117, 90, 211, 211, 108,
731
- 204, 157, 158, 200, 156, 161, 204, 162,
732
- 163, 176, 175, 160, 159, 174, 173, 190,
733
- 201, 199, 159, 173, 181, 165, 180, 151,
734
- 170, 168, 182, 188, 191, 189, 152, 177,
735
- 204, 33, 22, 31, 23, 34, 204, 32,
736
- 18, 19, 30, 28, 9, 10, 11, 12,
737
- 48, 61, 204, 63, 64, 66, 204, 20,
738
- 21, 20, 31, 32, 63, 62, 66, 204,
739
- 11, 10, 204, 26, 61, 60, 204, 1,
740
- 2, 53, 60, 146, 147, 56, 14, 17,
741
- 55, 52, 16, 15, 21, 3, 7, 50,
742
- 51, 13, 6, 204, 204, 146, 25, 65,
743
- 64, 66, 67, 69, 65, 64, 66, 67,
744
- 204, 204, 100, 39, 79, 98, 171, 172,
745
- 198, 186, 187, 193, 185, 190, 201, 199,
746
- 178, 167, 192, 154, 164, 179, 169, 184,
747
- 195, 155, 166, 183, 153, 58, 54, 4,
748
- 8, 5, 57, 49, 149, 194, 196, 197,
749
- 148, 214, 202, 214, 214, 215, 214, 214,
750
- 216, 203, 216, 216, 217, 216, 216, 218,
751
- 218, 218, 218, 219
752
- };
753
-
754
- static final short[] _hpricot_scan_trans_actions_wi = {
755
- 0, 0, 0, 7, 0, 0, 21, 0,
756
- 0, 0, 7, 7, 0, 0, 65, 0,
757
- 31, 0, 67, 0, 0, 1, 0, 63,
758
- 132, 178, 0, 144, 147, 0, 174, 23,
759
- 0, 186, 0, 21, 0, 0, 0, 21,
760
- 144, 0, 111, 0, 111, 147, 0, 174,
761
- 23, 0, 186, 7, 147, 0, 174, 23,
762
- 0, 186, 0, 0, 0, 144, 0, 21,
763
- 21, 0, 9, 9, 102, 73, 162, 9,
764
- 9, 174, 117, 0, 170, 0, 9, 9,
765
- 7, 102, 205, 0, 7, 9, 9, 174,
766
- 117, 0, 215, 0, 9, 9, 7, 102,
767
- 205, 0, 9, 9, 174, 117, 0, 215,
768
- 0, 9, 9, 7, 102, 205, 0, 9,
769
- 9, 174, 117, 0, 215, 11, 0, 108,
770
- 11, 210, 11, 0, 108, 11, 210, 11,
771
- 0, 108, 11, 210, 105, 105, 0, 158,
772
- 11, 195, 105, 105, 0, 158, 11, 232,
773
- 105, 105, 0, 158, 11, 232, 105, 105,
774
- 0, 158, 11, 232, 3, 3, 3, 0,
775
- 0, 87, 120, 3, 3, 190, 3, 3,
776
- 3, 0, 7, 87, 3, 3, 3, 190,
777
- 3, 3, 3, 190, 87, 200, 3, 3,
778
- 182, 3, 3, 3, 3, 3, 3, 3,
779
- 7, 0, 87, 3, 3, 3, 190, 3,
780
- 3, 3, 190, 87, 200, 3, 3, 3,
781
- 7, 7, 87, 3, 3, 3, 190, 3,
782
- 75, 3, 3, 190, 87, 200, 3, 3,
783
- 84, 99, 78, 78, 0, 0, 150, 154,
784
- 78, 78, 0, 7, 150, 154, 78, 78,
785
- 220, 226, 78, 78, 7, 0, 150, 154,
786
- 78, 78, 220, 226, 78, 78, 7, 7,
787
- 150, 154, 78, 78, 75, 220, 226, 99,
788
- 69, 0, 0, 0, 0, 0, 49, 0,
789
- 0, 0, 0, 13, 0, 15, 0, 17,
790
- 0, 0, 3, 3, 0, 0, 0, 0,
791
- 0, 0, 0, 3, 3, 0, 0, 0,
792
- 71, 0, 0, 0, 0, 19, 51, 19,
793
- 0, 0, 0, 0, 0, 1, 0, 0,
794
- 0, 0, 55, 0, 114, 0, 53, 0,
795
- 19, 3, 3, 81, 5, 0, 5, 93,
796
- 5, 0, 90, 5, 5, 0, 96, 0,
797
- 0, 0, 1, 25, 25, 0, 0, 0,
798
- 0, 0, 0, 0, 0, 0, 0, 0,
799
- 0, 0, 0, 61, 59, 0, 0, 0,
800
- 174, 23, 0, 0, 11, 0, 108, 11,
801
- 166, 57, 0, 0, 0, 0, 0, 0,
802
- 0, 0, 0, 0, 0, 0, 3, 3,
803
- 0, 0, 0, 0, 0, 0, 0, 0,
804
- 0, 0, 0, 0, 0, 0, 0, 0,
805
- 0, 0, 0, 0, 0, 3, 3, 0,
806
- 0, 35, 0, 33, 123, 31, 37, 135,
807
- 41, 0, 39, 126, 31, 43, 138, 47,
808
- 141, 45, 129, 0
809
- };
810
-
811
- static final short[] _hpricot_scan_to_state_actions = {
812
- 0, 0, 0, 0, 0, 0, 0, 0,
813
- 0, 0, 0, 0, 0, 0, 0, 0,
814
- 0, 0, 0, 0, 0, 0, 0, 0,
815
- 0, 0, 0, 0, 0, 0, 0, 0,
816
- 0, 0, 0, 0, 0, 0, 0, 0,
817
- 0, 0, 0, 0, 0, 0, 0, 0,
818
- 0, 0, 0, 0, 0, 0, 0, 0,
819
- 0, 0, 0, 0, 0, 0, 0, 0,
820
- 0, 0, 0, 0, 0, 0, 0, 0,
821
- 0, 0, 0, 0, 0, 0, 0, 0,
822
- 0, 0, 0, 0, 0, 0, 0, 0,
823
- 0, 0, 0, 0, 0, 0, 0, 0,
824
- 0, 0, 0, 0, 0, 0, 0, 0,
825
- 0, 0, 0, 0, 0, 0, 0, 0,
826
- 0, 0, 0, 0, 0, 0, 0, 0,
827
- 0, 0, 0, 0, 0, 0, 0, 0,
828
- 0, 0, 0, 0, 0, 0, 0, 0,
829
- 0, 0, 0, 0, 0, 0, 0, 0,
830
- 0, 0, 0, 0, 0, 0, 0, 0,
831
- 0, 0, 0, 0, 0, 0, 0, 0,
832
- 0, 0, 0, 0, 0, 0, 0, 0,
833
- 0, 0, 0, 0, 0, 0, 0, 0,
834
- 0, 0, 0, 0, 0, 0, 0, 0,
835
- 0, 0, 0, 0, 0, 0, 0, 0,
836
- 0, 0, 0, 0, 0, 0, 0, 0,
837
- 0, 0, 0, 0, 27, 0, 0, 0,
838
- 0, 0, 0, 0, 0, 0, 27, 0,
839
- 27, 0, 27, 0
840
- };
841
-
842
- static final short[] _hpricot_scan_from_state_actions = {
843
- 0, 0, 0, 0, 0, 0, 0, 0,
844
- 0, 0, 0, 0, 0, 0, 0, 0,
845
- 0, 0, 0, 0, 0, 0, 0, 0,
846
- 0, 0, 0, 0, 0, 0, 0, 0,
847
- 0, 0, 0, 0, 0, 0, 0, 0,
848
- 0, 0, 0, 0, 0, 0, 0, 0,
849
- 0, 0, 0, 0, 0, 0, 0, 0,
850
- 0, 0, 0, 0, 0, 0, 0, 0,
851
- 0, 0, 0, 0, 0, 0, 0, 0,
852
- 0, 0, 0, 0, 0, 0, 0, 0,
853
- 0, 0, 0, 0, 0, 0, 0, 0,
854
- 0, 0, 0, 0, 0, 0, 0, 0,
855
- 0, 0, 0, 0, 0, 0, 0, 0,
856
- 0, 0, 0, 0, 0, 0, 0, 0,
857
- 0, 0, 0, 0, 0, 0, 0, 0,
858
- 0, 0, 0, 0, 0, 0, 0, 0,
859
- 0, 0, 0, 0, 0, 0, 0, 0,
860
- 0, 0, 0, 0, 0, 0, 0, 0,
861
- 0, 0, 0, 0, 0, 0, 0, 0,
862
- 0, 0, 0, 0, 0, 0, 0, 0,
863
- 0, 0, 0, 0, 0, 0, 0, 0,
864
- 0, 0, 0, 0, 0, 0, 0, 0,
865
- 0, 0, 0, 0, 0, 0, 0, 0,
866
- 0, 0, 0, 0, 0, 0, 0, 0,
867
- 0, 0, 0, 0, 0, 0, 0, 0,
868
- 0, 0, 0, 0, 29, 0, 0, 0,
869
- 0, 0, 0, 0, 0, 0, 29, 0,
870
- 29, 0, 29, 0
871
- };
351
+ private static final char _hpricot_scan_trans_keys[] = init__hpricot_scan_trans_keys_0();
352
+
353
+
354
+ private static byte[] init__hpricot_scan_single_lengths_0()
355
+ {
356
+ return new byte [] {
357
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 5,
358
+ 1, 1, 1, 1, 1, 1, 3, 4, 4, 3, 5, 1,
359
+ 1, 3, 1, 2, 1, 1, 4, 4, 7, 7, 7, 7,
360
+ 5, 2, 2, 4, 2, 3, 3, 4, 2, 3, 4, 4,
361
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
362
+ 4, 2, 5, 5, 6, 6, 1, 7, 5, 5, 7, 8,
363
+ 8, 5, 7, 9, 9, 7, 7, 7, 2, 2, 8, 8,
364
+ 3, 8, 8, 10, 10, 9, 9, 10, 10, 7, 7, 8,
365
+ 8, 8, 8, 3, 7, 2, 2, 8, 8, 3, 8, 7,
366
+ 9, 10, 10, 7, 7, 8, 10, 10, 8, 10, 11, 9,
367
+ 9, 4, 3, 8, 8, 10, 10, 10, 8, 8, 10, 8,
368
+ 8, 8, 11, 9, 3, 7, 8, 7, 3, 7, 2, 2,
369
+ 7, 3, 3, 4, 4, 3, 1, 1, 1, 1, 1, 1,
370
+ 2, 3, 1, 2, 3, 5, 1, 1, 1, 1, 1, 1,
371
+ 1, 1, 2, 3, 0, 2, 3, 4, 1, 1, 1, 1,
372
+ 1, 1, 1, 1, 1, 2, 3, 2, 1, 1, 3, 1,
373
+ 1, 2, 1, 1, 1, 1, 0, 2, 1, 2, 1, 1,
374
+ 2, 5, 1, 1, 1, 2, 2, 3, 1, 2, 2, 1,
375
+ 2, 1, 3, 1
376
+ };
377
+ }
872
378
 
873
- static final int hpricot_scan_start = 204;
379
+ private static final byte _hpricot_scan_single_lengths[] = init__hpricot_scan_single_lengths_0();
380
+
381
+
382
+ private static byte[] init__hpricot_scan_range_lengths_0()
383
+ {
384
+ return new byte [] {
385
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 5, 1,
386
+ 0, 0, 0, 0, 0, 1, 1, 4, 4, 1, 1, 0,
387
+ 0, 1, 0, 1, 0, 0, 5, 5, 5, 5, 5, 5,
388
+ 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 5,
389
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
390
+ 5, 1, 4, 4, 4, 4, 0, 2, 2, 4, 5, 5,
391
+ 5, 2, 2, 5, 5, 2, 2, 4, 0, 0, 4, 4,
392
+ 0, 2, 2, 5, 5, 5, 5, 5, 5, 2, 2, 2,
393
+ 2, 2, 4, 0, 4, 0, 0, 4, 4, 0, 2, 2,
394
+ 5, 5, 5, 2, 2, 2, 5, 5, 2, 5, 5, 4,
395
+ 4, 0, 0, 2, 2, 5, 5, 5, 2, 2, 5, 4,
396
+ 4, 2, 5, 5, 0, 4, 2, 4, 0, 2, 0, 0,
397
+ 2, 2, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0,
398
+ 1, 1, 4, 4, 1, 1, 0, 0, 0, 0, 0, 0,
399
+ 0, 0, 1, 1, 2, 4, 1, 1, 0, 0, 0, 0,
400
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0,
401
+ 0, 0, 0, 0, 0, 0, 2, 4, 4, 4, 0, 0,
402
+ 0, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
403
+ 0, 0, 0, 0
404
+ };
405
+ }
406
+
407
+ private static final byte _hpricot_scan_range_lengths[] = init__hpricot_scan_range_lengths_0();
408
+
409
+
410
+ private static short[] init__hpricot_scan_index_offsets_0()
411
+ {
412
+ return new short [] {
413
+ 0, 4, 6, 8, 10, 12, 14, 16, 18, 21, 28, 39,
414
+ 46, 48, 50, 52, 54, 56, 59, 64, 73, 82, 87, 94,
415
+ 96, 98, 103, 105, 109, 111, 113, 123, 133, 146, 159, 172,
416
+ 185, 192, 195, 198, 204, 207, 212, 217, 223, 226, 231, 237,
417
+ 247, 249, 251, 253, 255, 257, 259, 261, 263, 265, 267, 269,
418
+ 274, 284, 288, 298, 308, 319, 330, 332, 342, 350, 360, 373,
419
+ 387, 401, 409, 419, 434, 449, 459, 469, 481, 484, 487, 500,
420
+ 513, 517, 528, 539, 555, 571, 586, 601, 617, 633, 643, 653,
421
+ 664, 675, 686, 699, 703, 715, 718, 721, 734, 747, 751, 762,
422
+ 772, 787, 803, 819, 829, 839, 850, 866, 882, 893, 909, 926,
423
+ 940, 954, 959, 963, 974, 985, 1001, 1017, 1033, 1044, 1055, 1071,
424
+ 1084, 1097, 1108, 1125, 1140, 1144, 1156, 1167, 1179, 1183, 1193, 1196,
425
+ 1199, 1209, 1215, 1224, 1234, 1244, 1253, 1255, 1257, 1259, 1261, 1263,
426
+ 1265, 1269, 1274, 1280, 1287, 1292, 1299, 1301, 1303, 1305, 1307, 1309,
427
+ 1311, 1313, 1315, 1319, 1324, 1327, 1334, 1339, 1345, 1347, 1349, 1351,
428
+ 1353, 1355, 1357, 1359, 1361, 1363, 1367, 1372, 1375, 1377, 1379, 1384,
429
+ 1386, 1388, 1391, 1393, 1395, 1397, 1399, 1402, 1409, 1415, 1422, 1424,
430
+ 1426, 1429, 1437, 1439, 1441, 1443, 1446, 1449, 1453, 1456, 1460, 1463,
431
+ 1465, 1468, 1470, 1474
432
+ };
433
+ }
434
+
435
+ private static final short _hpricot_scan_index_offsets[] = init__hpricot_scan_index_offsets_0();
436
+
437
+
438
+ private static short[] init__hpricot_scan_indicies_0()
439
+ {
440
+ return new short [] {
441
+ 1, 2, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
442
+ 8, 0, 9, 0, 10, 0, 11, 11, 0, 11, 12, 12,
443
+ 11, 12, 12, 0, 13, 15, 14, 16, 14, 13, 14, 14,
444
+ 14, 14, 0, 17, 18, 19, 20, 21, 17, 0, 22, 0,
445
+ 23, 0, 24, 0, 25, 0, 26, 0, 27, 27, 0, 27,
446
+ 28, 29, 27, 0, 30, 31, 30, 30, 30, 30, 30, 30,
447
+ 0, 32, 33, 32, 32, 32, 32, 32, 32, 0, 34, 18,
448
+ 21, 34, 0, 34, 35, 36, 18, 21, 34, 0, 38, 37,
449
+ 41, 40, 42, 18, 21, 42, 39, 43, 21, 43, 18, 43,
450
+ 39, 38, 44, 41, 45, 46, 47, 46, 46, 46, 46, 46,
451
+ 46, 46, 0, 48, 49, 48, 48, 48, 48, 48, 48, 48,
452
+ 0, 50, 50, 48, 49, 18, 21, 48, 34, 48, 48, 48,
453
+ 48, 0, 50, 50, 35, 51, 18, 21, 48, 34, 48, 48,
454
+ 48, 48, 0, 52, 52, 54, 55, 56, 57, 54, 53, 54,
455
+ 54, 54, 54, 44, 58, 58, 61, 62, 63, 64, 60, 59,
456
+ 60, 60, 60, 60, 45, 59, 61, 65, 63, 64, 59, 45,
457
+ 67, 68, 66, 70, 71, 69, 72, 41, 63, 64, 72, 45,
458
+ 73, 74, 64, 75, 76, 43, 75, 21, 74, 41, 63, 74,
459
+ 45, 77, 41, 78, 79, 77, 40, 73, 80, 79, 80, 41,
460
+ 78, 80, 40, 81, 38, 56, 57, 81, 44, 60, 82, 60,
461
+ 60, 60, 60, 60, 60, 60, 45, 83, 0, 84, 0, 85,
462
+ 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91,
463
+ 0, 92, 0, 93, 0, 94, 94, 94, 94, 0, 95, 97,
464
+ 96, 96, 95, 96, 96, 96, 96, 0, 98, 99, 98, 0,
465
+ 100, 102, 103, 101, 101, 100, 101, 101, 101, 0, 104, 106,
466
+ 107, 105, 105, 104, 105, 105, 105, 0, 108, 110, 111, 112,
467
+ 109, 109, 108, 109, 109, 109, 39, 113, 115, 116, 117, 114,
468
+ 114, 113, 114, 114, 114, 39, 118, 39, 120, 120, 122, 123,
469
+ 124, 39, 117, 120, 121, 119, 126, 126, 128, 39, 129, 126,
470
+ 127, 125, 130, 115, 117, 114, 114, 130, 114, 114, 114, 39,
471
+ 126, 126, 132, 39, 133, 131, 131, 126, 127, 131, 131, 131,
472
+ 125, 134, 134, 137, 39, 138, 139, 136, 136, 134, 135, 136,
473
+ 136, 136, 125, 140, 140, 132, 39, 142, 133, 131, 131, 140,
474
+ 141, 131, 131, 131, 125, 126, 126, 128, 39, 129, 126, 127,
475
+ 125, 143, 143, 145, 146, 147, 39, 129, 143, 144, 119, 148,
476
+ 148, 122, 123, 124, 39, 117, 150, 150, 148, 149, 150, 150,
477
+ 150, 119, 143, 143, 145, 146, 151, 39, 133, 150, 150, 143,
478
+ 144, 150, 150, 150, 119, 153, 153, 155, 156, 157, 158, 159,
479
+ 153, 154, 152, 161, 161, 163, 164, 165, 166, 167, 161, 162,
480
+ 160, 168, 169, 171, 172, 170, 173, 170, 168, 170, 170, 170,
481
+ 165, 169, 173, 165, 174, 173, 165, 175, 169, 177, 178, 179,
482
+ 176, 173, 176, 175, 176, 176, 176, 165, 180, 169, 171, 181,
483
+ 172, 170, 173, 170, 180, 170, 170, 170, 165, 169, 182, 173,
484
+ 165, 183, 183, 185, 186, 187, 165, 172, 159, 183, 184, 152,
485
+ 188, 188, 185, 186, 187, 165, 172, 159, 188, 189, 152, 188,
486
+ 188, 185, 186, 187, 165, 172, 190, 159, 190, 188, 189, 190,
487
+ 190, 190, 152, 191, 191, 193, 194, 195, 165, 196, 190, 159,
488
+ 190, 191, 192, 190, 190, 190, 152, 153, 153, 155, 195, 157,
489
+ 197, 190, 159, 190, 153, 154, 190, 190, 190, 152, 161, 161,
490
+ 163, 199, 165, 196, 198, 167, 198, 161, 162, 198, 198, 198,
491
+ 160, 200, 200, 163, 203, 165, 204, 205, 202, 167, 202, 200,
492
+ 201, 202, 202, 202, 160, 206, 206, 163, 199, 165, 208, 196,
493
+ 198, 167, 198, 206, 207, 198, 198, 198, 160, 161, 161, 163,
494
+ 164, 165, 166, 167, 161, 162, 160, 161, 161, 209, 164, 165,
495
+ 166, 167, 161, 162, 160, 191, 191, 193, 194, 156, 165, 166,
496
+ 159, 191, 192, 152, 211, 211, 213, 214, 215, 216, 217, 218,
497
+ 211, 212, 210, 220, 220, 222, 209, 223, 224, 225, 226, 220,
498
+ 221, 219, 227, 228, 174, 230, 231, 229, 232, 229, 227, 229,
499
+ 229, 229, 224, 228, 174, 232, 224, 234, 169, 236, 237, 235,
500
+ 238, 235, 234, 235, 235, 235, 233, 169, 238, 233, 228, 238,
501
+ 233, 239, 169, 241, 242, 243, 240, 238, 240, 239, 240, 240,
502
+ 240, 233, 244, 169, 236, 245, 237, 235, 238, 235, 244, 235,
503
+ 235, 235, 233, 169, 246, 238, 233, 248, 248, 250, 251, 252,
504
+ 233, 237, 253, 248, 249, 247, 255, 255, 163, 257, 233, 258,
505
+ 259, 255, 256, 254, 255, 255, 163, 261, 233, 262, 260, 259,
506
+ 260, 255, 256, 260, 260, 260, 254, 263, 263, 163, 266, 233,
507
+ 267, 268, 265, 259, 265, 263, 264, 265, 265, 265, 254, 269,
508
+ 269, 163, 261, 233, 271, 262, 260, 259, 260, 269, 270, 260,
509
+ 260, 260, 254, 255, 255, 163, 257, 233, 258, 259, 255, 256,
510
+ 254, 255, 255, 222, 257, 233, 258, 259, 255, 256, 254, 272,
511
+ 272, 274, 275, 276, 233, 258, 253, 272, 273, 247, 277, 277,
512
+ 250, 251, 252, 233, 237, 279, 253, 279, 277, 278, 279, 279,
513
+ 279, 247, 272, 272, 274, 275, 280, 233, 262, 279, 253, 279,
514
+ 272, 273, 279, 279, 279, 247, 211, 211, 281, 214, 215, 216,
515
+ 217, 218, 211, 212, 210, 220, 220, 222, 209, 283, 224, 284,
516
+ 282, 226, 282, 220, 221, 282, 282, 282, 219, 285, 285, 222,
517
+ 209, 288, 224, 289, 290, 287, 226, 287, 285, 286, 287, 287,
518
+ 287, 219, 291, 228, 174, 230, 292, 231, 229, 232, 229, 291,
519
+ 229, 229, 229, 224, 293, 228, 174, 295, 296, 297, 294, 232,
520
+ 294, 293, 294, 294, 294, 224, 228, 174, 298, 232, 224, 299,
521
+ 299, 232, 224, 300, 300, 302, 303, 304, 224, 231, 218, 300,
522
+ 301, 210, 305, 305, 302, 303, 304, 224, 231, 218, 305, 306,
523
+ 210, 305, 305, 302, 303, 304, 224, 231, 307, 218, 307, 305,
524
+ 306, 307, 307, 307, 210, 308, 308, 310, 311, 312, 224, 284,
525
+ 307, 218, 307, 308, 309, 307, 307, 307, 210, 211, 211, 281,
526
+ 214, 312, 216, 313, 307, 218, 307, 211, 212, 307, 307, 307,
527
+ 210, 220, 220, 222, 209, 223, 224, 225, 226, 220, 221, 219,
528
+ 220, 220, 314, 314, 223, 224, 225, 226, 220, 221, 219, 211,
529
+ 211, 213, 214, 312, 216, 313, 307, 218, 307, 211, 212, 307,
530
+ 307, 307, 210, 315, 316, 317, 319, 320, 318, 321, 318, 315,
531
+ 318, 318, 318, 216, 315, 322, 317, 319, 320, 318, 321, 318,
532
+ 315, 318, 318, 318, 216, 308, 308, 310, 311, 215, 224, 225,
533
+ 218, 308, 309, 210, 323, 323, 222, 209, 283, 224, 325, 284,
534
+ 282, 226, 282, 323, 324, 282, 282, 282, 219, 326, 326, 155,
535
+ 280, 328, 329, 279, 253, 279, 326, 327, 279, 279, 279, 247,
536
+ 316, 317, 321, 216, 330, 331, 333, 334, 332, 335, 332, 330,
537
+ 332, 332, 332, 328, 277, 277, 250, 251, 252, 233, 237, 253,
538
+ 277, 278, 247, 336, 331, 338, 339, 337, 340, 337, 336, 337,
539
+ 337, 337, 157, 322, 317, 321, 216, 326, 326, 155, 276, 328,
540
+ 341, 253, 326, 327, 247, 331, 340, 157, 331, 335, 328, 148,
541
+ 148, 122, 123, 124, 39, 117, 148, 149, 119, 342, 342, 343,
542
+ 342, 342, 0, 344, 345, 345, 344, 345, 345, 345, 345, 0,
543
+ 344, 345, 345, 346, 344, 345, 345, 345, 345, 0, 344, 345,
544
+ 345, 347, 344, 345, 345, 345, 345, 0, 348, 345, 345, 348,
545
+ 345, 345, 345, 345, 0, 350, 349, 351, 349, 352, 349, 353,
546
+ 349, 354, 349, 355, 349, 355, 356, 355, 349, 356, 357, 358,
547
+ 356, 349, 359, 359, 359, 359, 359, 349, 360, 361, 361, 361,
548
+ 361, 361, 349, 362, 363, 364, 362, 349, 362, 363, 364, 365,
549
+ 366, 362, 349, 363, 349, 367, 349, 368, 349, 369, 349, 370,
550
+ 349, 371, 349, 372, 349, 373, 349, 373, 374, 373, 349, 374,
551
+ 375, 376, 374, 349, 377, 377, 349, 378, 379, 379, 379, 379,
552
+ 379, 349, 380, 363, 364, 380, 349, 380, 363, 364, 366, 380,
553
+ 349, 381, 349, 382, 349, 383, 349, 384, 349, 385, 349, 386,
554
+ 349, 387, 349, 388, 349, 389, 349, 389, 390, 389, 349, 390,
555
+ 391, 392, 390, 349, 393, 394, 349, 395, 349, 396, 349, 397,
556
+ 363, 364, 397, 349, 398, 349, 395, 349, 399, 400, 349, 401,
557
+ 349, 396, 349, 402, 349, 401, 349, 403, 403, 349, 378, 404,
558
+ 404, 404, 404, 404, 349, 405, 405, 405, 405, 405, 349, 360,
559
+ 406, 406, 406, 406, 406, 349, 408, 407, 410, 409, 412, 413,
560
+ 411, 415, 416, 417, 418, 417, 417, 417, 414, 41, 45, 43,
561
+ 21, 41, 40, 169, 173, 165, 169, 238, 233, 228, 174, 232,
562
+ 224, 344, 344, 420, 348, 421, 348, 420, 423, 424, 422, 426,
563
+ 425, 428, 429, 427, 431, 430, 433, 434, 435, 432, 434, 436,
564
+ 0
565
+ };
566
+ }
874
567
 
568
+ private static final short _hpricot_scan_indicies[] = init__hpricot_scan_indicies_0();
569
+
570
+
571
+ private static short[] init__hpricot_scan_trans_targs_0()
572
+ {
573
+ return new short [] {
574
+ 204, 1, 2, 53, 204, 3, 4, 5, 6, 7, 8, 9,
575
+ 10, 11, 10, 204, 26, 11, 204, 12, 48, 26, 13, 14,
576
+ 15, 16, 17, 18, 19, 30, 20, 21, 20, 21, 22, 23,
577
+ 28, 24, 25, 204, 24, 25, 25, 27, 29, 29, 31, 32,
578
+ 31, 32, 33, 34, 35, 36, 47, 32, 206, 40, 35, 36,
579
+ 47, 37, 34, 206, 40, 46, 38, 39, 43, 38, 39, 43,
580
+ 39, 41, 42, 41, 207, 43, 208, 44, 45, 39, 32, 49,
581
+ 50, 51, 52, 21, 54, 55, 56, 57, 58, 204, 60, 61,
582
+ 60, 204, 61, 204, 63, 62, 66, 204, 63, 64, 66, 204,
583
+ 65, 64, 66, 67, 204, 65, 64, 66, 67, 204, 204, 68,
584
+ 144, 74, 142, 143, 73, 68, 69, 70, 73, 204, 69, 71,
585
+ 73, 204, 65, 72, 71, 73, 74, 204, 65, 72, 74, 75,
586
+ 76, 77, 141, 73, 75, 76, 71, 73, 78, 79, 90, 70,
587
+ 93, 80, 209, 94, 78, 79, 90, 70, 93, 80, 209, 94,
588
+ 79, 69, 82, 84, 209, 81, 79, 83, 82, 84, 85, 209,
589
+ 83, 85, 209, 86, 95, 139, 140, 93, 87, 88, 91, 87,
590
+ 88, 89, 96, 93, 209, 209, 91, 93, 83, 92, 91, 93,
591
+ 95, 209, 83, 92, 95, 90, 97, 98, 117, 108, 90, 128,
592
+ 99, 211, 129, 97, 98, 117, 108, 128, 99, 211, 129, 98,
593
+ 100, 120, 121, 211, 122, 101, 100, 103, 105, 210, 102, 104,
594
+ 103, 105, 106, 210, 104, 106, 210, 107, 138, 113, 136, 137,
595
+ 111, 112, 107, 100, 108, 111, 210, 112, 109, 111, 210, 104,
596
+ 110, 109, 111, 113, 210, 104, 110, 113, 114, 115, 116, 135,
597
+ 111, 114, 115, 109, 111, 108, 118, 128, 211, 119, 134, 118,
598
+ 128, 133, 211, 119, 123, 119, 120, 121, 123, 211, 211, 98,
599
+ 124, 133, 131, 132, 128, 125, 126, 118, 125, 126, 127, 130,
600
+ 128, 211, 117, 98, 100, 79, 120, 121, 211, 122, 100, 119,
601
+ 134, 133, 100, 108, 101, 210, 100, 69, 103, 105, 210, 102,
602
+ 79, 82, 84, 209, 81, 210, 146, 147, 212, 146, 148, 149,
603
+ 213, 204, 151, 152, 153, 154, 155, 156, 157, 158, 200, 159,
604
+ 160, 159, 161, 204, 162, 163, 176, 164, 165, 166, 167, 168,
605
+ 169, 170, 171, 172, 198, 173, 174, 173, 175, 177, 178, 179,
606
+ 180, 181, 182, 183, 184, 185, 186, 187, 193, 188, 191, 189,
607
+ 190, 190, 192, 194, 196, 195, 197, 199, 199, 201, 201, 214,
608
+ 214, 216, 216, 204, 204, 205, 204, 0, 59, 62, 145, 204,
609
+ 204, 150, 214, 214, 215, 214, 202, 216, 216, 217, 216, 203,
610
+ 218, 218, 218, 219, 218
611
+ };
612
+ }
613
+
614
+ private static final short _hpricot_scan_trans_targs[] = init__hpricot_scan_trans_targs_0();
615
+
616
+
617
+ private static short[] init__hpricot_scan_trans_actions_0()
618
+ {
619
+ return new short [] {
620
+ 73, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
621
+ 1, 5, 0, 92, 5, 0, 51, 0, 0, 0, 0, 0,
622
+ 0, 0, 0, 0, 0, 0, 3, 83, 0, 19, 0, 0,
623
+ 0, 3, 86, 75, 0, 21, 0, 0, 3, 0, 3, 83,
624
+ 0, 19, 0, 19, 3, 3, 3, 172, 188, 3, 0, 0,
625
+ 0, 0, 113, 146, 0, 21, 3, 86, 86, 0, 21, 21,
626
+ 0, 21, 0, 0, 146, 0, 146, 0, 0, 3, 113, 0,
627
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 5,
628
+ 0, 98, 0, 55, 5, 0, 5, 95, 0, 116, 0, 53,
629
+ 11, 0, 110, 11, 168, 0, 180, 23, 0, 122, 57, 3,
630
+ 3, 3, 0, 0, 89, 0, 9, 9, 104, 164, 0, 180,
631
+ 119, 176, 107, 107, 0, 160, 11, 201, 9, 9, 0, 80,
632
+ 80, 0, 0, 152, 3, 3, 196, 156, 3, 80, 80, 77,
633
+ 152, 3, 226, 3, 0, 9, 9, 7, 104, 0, 211, 0,
634
+ 0, 7, 180, 23, 192, 0, 7, 11, 0, 110, 11, 216,
635
+ 0, 0, 149, 3, 3, 7, 0, 89, 3, 3, 196, 80,
636
+ 80, 7, 0, 156, 221, 232, 180, 119, 107, 107, 0, 160,
637
+ 11, 238, 9, 9, 0, 7, 3, 80, 80, 101, 77, 152,
638
+ 3, 226, 3, 0, 9, 9, 7, 104, 0, 211, 0, 0,
639
+ 7, 180, 23, 192, 0, 0, 0, 180, 23, 192, 0, 11,
640
+ 0, 110, 11, 216, 0, 0, 149, 3, 3, 3, 0, 7,
641
+ 89, 3, 0, 9, 9, 104, 211, 0, 180, 119, 221, 107,
642
+ 107, 0, 160, 11, 238, 9, 9, 0, 80, 80, 0, 7,
643
+ 152, 3, 3, 196, 156, 77, 180, 119, 221, 107, 107, 0,
644
+ 160, 11, 238, 0, 0, 11, 0, 110, 11, 216, 149, 7,
645
+ 3, 3, 7, 7, 89, 3, 3, 196, 80, 80, 7, 7,
646
+ 156, 232, 7, 3, 77, 77, 196, 89, 206, 3, 101, 9,
647
+ 9, 0, 80, 80, 3, 232, 3, 77, 196, 89, 206, 3,
648
+ 3, 196, 89, 206, 3, 226, 25, 25, 0, 0, 0, 0,
649
+ 31, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
650
+ 13, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0,
651
+ 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, 0, 0,
652
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0,
653
+ 17, 0, 0, 3, 3, 0, 0, 3, 0, 3, 0, 37,
654
+ 137, 43, 140, 63, 134, 184, 69, 0, 0, 1, 0, 65,
655
+ 67, 0, 33, 125, 31, 35, 0, 39, 128, 31, 41, 0,
656
+ 45, 131, 143, 0, 47
657
+ };
658
+ }
659
+
660
+ private static final short _hpricot_scan_trans_actions[] = init__hpricot_scan_trans_actions_0();
661
+
662
+
663
+ private static short[] init__hpricot_scan_to_state_actions_0()
664
+ {
665
+ return new short [] {
666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
680
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
684
+ 27, 0, 27, 0
685
+ };
686
+ }
687
+
688
+ private static final short _hpricot_scan_to_state_actions[] = init__hpricot_scan_to_state_actions_0();
689
+
690
+
691
+ private static short[] init__hpricot_scan_from_state_actions_0()
692
+ {
693
+ return new short [] {
694
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
695
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
699
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
700
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
709
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
712
+ 29, 0, 29, 0
713
+ };
714
+ }
715
+
716
+ private static final short _hpricot_scan_from_state_actions[] = init__hpricot_scan_from_state_actions_0();
717
+
718
+
719
+ private static short[] init__hpricot_scan_eof_trans_0()
720
+ {
721
+ return new short [] {
722
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
723
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
724
+ 40, 40, 40, 40, 1, 40, 1, 1, 1, 1, 1, 1,
725
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
726
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
727
+ 1, 1, 1, 1, 40, 40, 40, 40, 40, 40, 40, 40,
728
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
729
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
730
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
731
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
732
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
733
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
734
+ 40, 1, 1, 1, 1, 1, 350, 350, 350, 350, 350, 350,
735
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
736
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
737
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
738
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 408, 410,
739
+ 0, 415, 420, 420, 420, 40, 40, 40, 421, 421, 0, 426,
740
+ 0, 431, 0, 437
741
+ };
742
+ }
743
+
744
+ private static final short _hpricot_scan_eof_trans[] = init__hpricot_scan_eof_trans_0();
745
+
746
+
747
+ static final int hpricot_scan_start = 204;
875
748
  static final int hpricot_scan_error = -1;
876
749
 
750
+ static final int hpricot_scan_en_html_comment = 214;
751
+ static final int hpricot_scan_en_html_cdata = 216;
752
+ static final int hpricot_scan_en_html_procins = 218;
753
+ static final int hpricot_scan_en_main = 204;
754
+
755
+ // line 192 "ext/hpricot_scan/hpricot_scan.java.rl"
877
756
 
878
757
  public final static int BUFSIZE=16384;
879
758
 
@@ -895,7 +774,8 @@ private void rb_yield_tokens(IRubyObject sym, IRubyObject tag, IRubyObject attr,
895
774
 
896
775
  int cs, act, have = 0, nread = 0, curline = 1, p=-1;
897
776
  boolean text = false;
898
- int tokstart=-1, tokend;
777
+ int ts=-1, te;
778
+ int eof=-1;
899
779
  char[] buf;
900
780
  Ruby runtime;
901
781
  IRubyObject attr, bufsize;
@@ -928,8 +808,8 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
928
808
  }
929
809
 
930
810
  buffer_size = BUFSIZE;
931
- if (recv.getInstanceVariable("@buffer_size") != null) {
932
- bufsize = recv.getInstanceVariable("@buffer_size");
811
+ if (rubyApi.getInstanceVariable(recv, "@buffer_size") != null) {
812
+ bufsize = rubyApi.getInstanceVariable(recv, "@buffer_size");
933
813
  if (!bufsize.isNil()) {
934
814
  buffer_size = RubyNumeric.fix2int(bufsize);
935
815
  }
@@ -937,12 +817,14 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
937
817
  buf = new char[buffer_size];
938
818
 
939
819
 
820
+ // line 821 "ext/hpricot_scan/HpricotScanService.java"
940
821
  {
941
822
  cs = hpricot_scan_start;
942
- tokstart = -1;
943
- tokend = -1;
823
+ ts = -1;
824
+ te = -1;
944
825
  act = 0;
945
826
  }
827
+ // line 256 "ext/hpricot_scan/hpricot_scan.java.rl"
946
828
 
947
829
  while( !done ) {
948
830
  IRubyObject str;
@@ -980,23 +862,32 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
980
862
  char[] data = buf;
981
863
 
982
864
 
865
+ // line 866 "ext/hpricot_scan/HpricotScanService.java"
983
866
  {
984
867
  int _klen;
985
- int _trans;
868
+ int _trans = 0;
986
869
  int _acts;
987
870
  int _nacts;
988
871
  int _keys;
872
+ int _goto_targ = 0;
989
873
 
990
- if ( p != pe ) {
991
- _resume: while ( true ) {
992
- _again: do {
874
+ _goto: while (true) {
875
+ switch ( _goto_targ ) {
876
+ case 0:
877
+ if ( p == pe ) {
878
+ _goto_targ = 4;
879
+ continue _goto;
880
+ }
881
+ case 1:
993
882
  _acts = _hpricot_scan_from_state_actions[cs];
994
883
  _nacts = (int) _hpricot_scan_actions[_acts++];
995
884
  while ( _nacts-- > 0 ) {
996
885
  switch ( _hpricot_scan_actions[_acts++] ) {
997
886
  case 21:
998
- {tokstart = p;}
887
+ // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
888
+ {ts = p;}
999
889
  break;
890
+ // line 891 "ext/hpricot_scan/HpricotScanService.java"
1000
891
  }
1001
892
  }
1002
893
 
@@ -1050,18 +941,18 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1050
941
  } while (false);
1051
942
 
1052
943
  _trans = _hpricot_scan_indicies[_trans];
1053
- cs = _hpricot_scan_trans_targs_wi[_trans];
944
+ case 3:
945
+ cs = _hpricot_scan_trans_targs[_trans];
1054
946
 
1055
- if ( _hpricot_scan_trans_actions_wi[_trans] == 0 )
1056
- break _again;
1057
-
1058
- _acts = _hpricot_scan_trans_actions_wi[_trans];
1059
- _nacts = (int) _hpricot_scan_actions[_acts++];
1060
- while ( _nacts-- > 0 )
947
+ if ( _hpricot_scan_trans_actions[_trans] != 0 ) {
948
+ _acts = _hpricot_scan_trans_actions[_trans];
949
+ _nacts = (int) _hpricot_scan_actions[_acts++];
950
+ while ( _nacts-- > 0 )
1061
951
  {
1062
- switch ( _hpricot_scan_actions[_acts++] )
1063
- {
952
+ switch ( _hpricot_scan_actions[_acts++] )
953
+ {
1064
954
  case 0:
955
+ // line 147 "ext/hpricot_scan/hpricot_scan.java.rl"
1065
956
  {
1066
957
  if (text) {
1067
958
  CAT(tag, p);
@@ -1075,45 +966,58 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1075
966
  }
1076
967
  break;
1077
968
  case 1:
969
+ // line 159 "ext/hpricot_scan/hpricot_scan.java.rl"
1078
970
  { mark_tag = p; }
1079
971
  break;
1080
972
  case 2:
973
+ // line 160 "ext/hpricot_scan/hpricot_scan.java.rl"
1081
974
  { mark_aval = p; }
1082
975
  break;
1083
976
  case 3:
977
+ // line 161 "ext/hpricot_scan/hpricot_scan.java.rl"
1084
978
  { mark_akey = p; }
1085
979
  break;
1086
980
  case 4:
981
+ // line 162 "ext/hpricot_scan/hpricot_scan.java.rl"
1087
982
  { SET(tag, p); }
1088
983
  break;
1089
984
  case 5:
985
+ // line 164 "ext/hpricot_scan/hpricot_scan.java.rl"
1090
986
  { SET(aval, p); }
1091
987
  break;
1092
988
  case 6:
989
+ // line 165 "ext/hpricot_scan/hpricot_scan.java.rl"
1093
990
  {
1094
991
  if (buf[p-1] == '"' || buf[p-1] == '\'') { SET(aval, p-1); }
1095
992
  else { SET(aval, p); }
1096
993
  }
1097
994
  break;
1098
995
  case 7:
996
+ // line 169 "ext/hpricot_scan/hpricot_scan.java.rl"
1099
997
  { SET(akey, p); }
1100
998
  break;
1101
999
  case 8:
1000
+ // line 170 "ext/hpricot_scan/hpricot_scan.java.rl"
1102
1001
  { SET(aval, p); ATTR(rb_str_new2("version"), aval); }
1103
1002
  break;
1104
1003
  case 9:
1004
+ // line 171 "ext/hpricot_scan/hpricot_scan.java.rl"
1105
1005
  { SET(aval, p); ATTR(rb_str_new2("encoding"), aval); }
1106
1006
  break;
1107
1007
  case 10:
1008
+ // line 172 "ext/hpricot_scan/hpricot_scan.java.rl"
1108
1009
  { SET(aval, p); ATTR(rb_str_new2("standalone"), aval); }
1109
1010
  break;
1110
1011
  case 11:
1012
+ // line 173 "ext/hpricot_scan/hpricot_scan.java.rl"
1111
1013
  { SET(aval, p); ATTR(rb_str_new2("public_id"), aval); }
1112
1014
  break;
1113
1015
  case 12:
1016
+ // line 174 "ext/hpricot_scan/hpricot_scan.java.rl"
1114
1017
  { SET(aval, p); ATTR(rb_str_new2("system_id"), aval); }
1115
1018
  break;
1116
1019
  case 13:
1020
+ // line 176 "ext/hpricot_scan/hpricot_scan.java.rl"
1117
1021
  {
1118
1022
  akey[0] = runtime.getNil();
1119
1023
  aval[0] = runtime.getNil();
@@ -1122,146 +1026,202 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1122
1026
  }
1123
1027
  break;
1124
1028
  case 14:
1029
+ // line 183 "ext/hpricot_scan/hpricot_scan.java.rl"
1125
1030
  {
1126
1031
  ATTR(akey, aval);
1127
1032
  }
1128
1033
  break;
1129
1034
  case 15:
1035
+ // line 9 "ext/hpricot_scan/hpricot_scan.java.rl"
1130
1036
  {curline += 1;}
1131
1037
  break;
1132
1038
  case 16:
1039
+ // line 46 "ext/hpricot_scan/hpricot_scan.java.rl"
1133
1040
  { TEXT_PASS(); }
1134
1041
  break;
1135
1042
  case 17:
1136
- { EBLK(comment, 3); {cs = 204; if (true) break _again;} }
1043
+ // line 50 "ext/hpricot_scan/hpricot_scan.java.rl"
1044
+ { EBLK(comment, 3); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1137
1045
  break;
1138
1046
  case 18:
1139
- { EBLK(cdata, 3); {cs = 204; if (true) break _again;} }
1047
+ // line 55 "ext/hpricot_scan/hpricot_scan.java.rl"
1048
+ { EBLK(cdata, 3); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1140
1049
  break;
1141
1050
  case 19:
1142
- { EBLK(procins, 2); {cs = 204; if (true) break _again;} }
1051
+ // line 60 "ext/hpricot_scan/hpricot_scan.java.rl"
1052
+ { EBLK(procins, 2); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1143
1053
  break;
1144
1054
  case 22:
1145
- {tokend = p+1;}
1055
+ // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1056
+ {te = p+1;}
1146
1057
  break;
1147
1058
  case 23:
1148
- {tokend = p+1;{p = ((tokend))-1;}}
1059
+ // line 50 "ext/hpricot_scan/hpricot_scan.java.rl"
1060
+ {te = p+1;}
1149
1061
  break;
1150
1062
  case 24:
1151
- {tokend = p+1;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1063
+ // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1064
+ {te = p+1;{ TEXT_PASS(); }}
1152
1065
  break;
1153
1066
  case 25:
1154
- {tokend = p;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1067
+ // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1068
+ {te = p;p--;{ TEXT_PASS(); }}
1155
1069
  break;
1156
1070
  case 26:
1157
- {{ TEXT_PASS(); }{p = ((tokend))-1;}}
1071
+ // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1072
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1158
1073
  break;
1159
1074
  case 27:
1160
- {tokend = p+1;{p = ((tokend))-1;}}
1075
+ // line 55 "ext/hpricot_scan/hpricot_scan.java.rl"
1076
+ {te = p+1;}
1161
1077
  break;
1162
1078
  case 28:
1163
- {tokend = p+1;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1079
+ // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1080
+ {te = p+1;{ TEXT_PASS(); }}
1164
1081
  break;
1165
1082
  case 29:
1166
- {tokend = p;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1083
+ // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1084
+ {te = p;p--;{ TEXT_PASS(); }}
1167
1085
  break;
1168
1086
  case 30:
1169
- {{ TEXT_PASS(); }{p = ((tokend))-1;}}
1087
+ // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1088
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1170
1089
  break;
1171
1090
  case 31:
1172
- {tokend = p+1;{p = ((tokend))-1;}}
1091
+ // line 60 "ext/hpricot_scan/hpricot_scan.java.rl"
1092
+ {te = p+1;}
1173
1093
  break;
1174
1094
  case 32:
1175
- {tokend = p+1;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1095
+ // line 61 "ext/hpricot_scan/hpricot_scan.java.rl"
1096
+ {te = p+1;{ TEXT_PASS(); }}
1176
1097
  break;
1177
1098
  case 33:
1178
- {tokend = p;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1099
+ // line 61 "ext/hpricot_scan/hpricot_scan.java.rl"
1100
+ {te = p;p--;{ TEXT_PASS(); }}
1179
1101
  break;
1180
1102
  case 34:
1103
+ // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
1181
1104
  {act = 8;}
1182
1105
  break;
1183
1106
  case 35:
1107
+ // line 68 "ext/hpricot_scan/hpricot_scan.java.rl"
1184
1108
  {act = 10;}
1185
1109
  break;
1186
1110
  case 36:
1111
+ // line 70 "ext/hpricot_scan/hpricot_scan.java.rl"
1187
1112
  {act = 12;}
1188
1113
  break;
1189
1114
  case 37:
1115
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1190
1116
  {act = 15;}
1191
1117
  break;
1192
1118
  case 38:
1193
- {tokend = p+1;{ ELE(xmldecl); }{p = ((tokend))-1;}}
1119
+ // line 65 "ext/hpricot_scan/hpricot_scan.java.rl"
1120
+ {te = p+1;{ ELE(xmldecl); }}
1194
1121
  break;
1195
1122
  case 39:
1196
- {tokend = p+1;{ ELE(doctype); }{p = ((tokend))-1;}}
1123
+ // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
1124
+ {te = p+1;{ ELE(doctype); }}
1197
1125
  break;
1198
1126
  case 40:
1199
- {tokend = p+1;{ ELE(stag); }{p = ((tokend))-1;}}
1127
+ // line 68 "ext/hpricot_scan/hpricot_scan.java.rl"
1128
+ {te = p+1;{ ELE(stag); }}
1200
1129
  break;
1201
1130
  case 41:
1202
- {tokend = p+1;{ ELE(etag); }{p = ((tokend))-1;}}
1131
+ // line 69 "ext/hpricot_scan/hpricot_scan.java.rl"
1132
+ {te = p+1;{ ELE(etag); }}
1203
1133
  break;
1204
1134
  case 42:
1205
- {tokend = p+1;{ ELE(emptytag); }{p = ((tokend))-1;}}
1135
+ // line 70 "ext/hpricot_scan/hpricot_scan.java.rl"
1136
+ {te = p+1;{ ELE(emptytag); }}
1206
1137
  break;
1207
1138
  case 43:
1208
- {tokend = p+1;{ {{p = ((tokend))-1;}{cs = 214; if (true) break _again;}} }{p = ((tokend))-1;}}
1139
+ // line 71 "ext/hpricot_scan/hpricot_scan.java.rl"
1140
+ {te = p+1;{ {cs = 214; _goto_targ = 2; if (true) continue _goto;} }}
1209
1141
  break;
1210
1142
  case 44:
1211
- {tokend = p+1;{ {{p = ((tokend))-1;}{cs = 216; if (true) break _again;}} }{p = ((tokend))-1;}}
1143
+ // line 72 "ext/hpricot_scan/hpricot_scan.java.rl"
1144
+ {te = p+1;{ {cs = 216; _goto_targ = 2; if (true) continue _goto;} }}
1212
1145
  break;
1213
1146
  case 45:
1214
- {tokend = p+1;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1147
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1148
+ {te = p+1;{ TEXT_PASS(); }}
1215
1149
  break;
1216
1150
  case 46:
1217
- {tokend = p;{ {{p = ((tokend))-1;}{cs = 218; if (true) break _again;}} }{p = ((tokend))-1;}}
1151
+ // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
1152
+ {te = p;p--;{ ELE(doctype); }}
1218
1153
  break;
1219
1154
  case 47:
1220
- {tokend = p;{ TEXT_PASS(); }{p = ((tokend))-1;}}
1155
+ // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1156
+ {te = p;p--;{ {cs = 218; _goto_targ = 2; if (true) continue _goto;} }}
1221
1157
  break;
1222
1158
  case 48:
1223
- {{ {{p = ((tokend))-1;}{cs = 218; if (true) break _again;}} }{p = ((tokend))-1;}}
1159
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1160
+ {te = p;p--;{ TEXT_PASS(); }}
1224
1161
  break;
1225
1162
  case 49:
1226
- {{ TEXT_PASS(); }{p = ((tokend))-1;}}
1163
+ // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1164
+ {{p = ((te))-1;}{ {cs = 218; _goto_targ = 2; if (true) continue _goto;} }}
1227
1165
  break;
1228
1166
  case 50:
1167
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1168
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1169
+ break;
1170
+ case 51:
1171
+ // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1229
1172
  { switch( act ) {
1230
1173
  case 8:
1231
- { ELE(doctype); }
1174
+ {{p = ((te))-1;} ELE(doctype); }
1232
1175
  break;
1233
1176
  case 10:
1234
- { ELE(stag); }
1177
+ {{p = ((te))-1;} ELE(stag); }
1235
1178
  break;
1236
1179
  case 12:
1237
- { ELE(emptytag); }
1180
+ {{p = ((te))-1;} ELE(emptytag); }
1238
1181
  break;
1239
1182
  case 15:
1240
- { TEXT_PASS(); }
1183
+ {{p = ((te))-1;} TEXT_PASS(); }
1241
1184
  break;
1242
- default: break;
1243
1185
  }
1244
- {p = ((tokend))-1;}}
1186
+ }
1245
1187
  break;
1188
+ // line 1189 "ext/hpricot_scan/HpricotScanService.java"
1189
+ }
1246
1190
  }
1247
1191
  }
1248
1192
 
1249
- } while (false);
1193
+ case 2:
1250
1194
  _acts = _hpricot_scan_to_state_actions[cs];
1251
1195
  _nacts = (int) _hpricot_scan_actions[_acts++];
1252
1196
  while ( _nacts-- > 0 ) {
1253
1197
  switch ( _hpricot_scan_actions[_acts++] ) {
1254
1198
  case 20:
1255
- {tokstart = -1;}
1199
+ // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1200
+ {ts = -1;}
1256
1201
  break;
1202
+ // line 1203 "ext/hpricot_scan/HpricotScanService.java"
1257
1203
  }
1258
1204
  }
1259
1205
 
1260
- if ( ++p == pe )
1261
- break _resume;
1206
+ if ( ++p != pe ) {
1207
+ _goto_targ = 1;
1208
+ continue _goto;
1262
1209
  }
1210
+ case 4:
1211
+ if ( p == eof )
1212
+ {
1213
+ if ( _hpricot_scan_eof_trans[cs] > 0 ) {
1214
+ _trans = _hpricot_scan_eof_trans[cs] - 1;
1215
+ _goto_targ = 3;
1216
+ continue _goto;
1217
+ }
1218
+ }
1219
+
1220
+ case 5:
1263
1221
  }
1222
+ break; }
1264
1223
  }
1224
+ // line 293 "ext/hpricot_scan/hpricot_scan.java.rl"
1265
1225
 
1266
1226
  if ( cs == hpricot_scan_error ) {
1267
1227
  if(!tag[0].isNil()) {
@@ -1273,16 +1233,16 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1273
1233
 
1274
1234
  if ( done && ele_open ) {
1275
1235
  ele_open = false;
1276
- if(tokstart > -1) {
1277
- mark_tag = tokstart;
1278
- tokstart = -1;
1236
+ if(ts > -1) {
1237
+ mark_tag = ts;
1238
+ ts = -1;
1279
1239
  text = true;
1280
1240
  }
1281
1241
  }
1282
1242
 
1283
- if(tokstart == -1) {
1243
+ if(ts == -1) {
1284
1244
  have = 0;
1285
- /* text nodes have no tokstart because each byte is parsed alone */
1245
+ /* text nodes have no ts because each byte is parsed alone */
1286
1246
  if(mark_tag != -1 && text) {
1287
1247
  if (done) {
1288
1248
  if(mark_tag < p-1) {
@@ -1295,13 +1255,13 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1295
1255
  }
1296
1256
  mark_tag = 0;
1297
1257
  } else {
1298
- have = pe - tokstart;
1299
- System.arraycopy(buf,tokstart,buf,0,have);
1258
+ have = pe - ts;
1259
+ System.arraycopy(buf,ts,buf,0,have);
1300
1260
  SLIDE(tag);
1301
1261
  SLIDE(akey);
1302
1262
  SLIDE(aval);
1303
- tokend = (tokend - tokstart);
1304
- tokstart = 0;
1263
+ te = (te - ts);
1264
+ ts = 0;
1305
1265
  }
1306
1266
  }
1307
1267
  return runtime.getNil();
@@ -1332,9 +1292,10 @@ public boolean basicLoad(final Ruby runtime) throws IOException {
1332
1292
 
1333
1293
  public static void Init_hpricot_scan(Ruby runtime) {
1334
1294
  RubyModule mHpricot = runtime.defineModule("Hpricot");
1335
- mHpricot.getMetaClass().attr_accessor(new IRubyObject[]{runtime.newSymbol("buffer_size")});
1295
+ mHpricot.getMetaClass().attr_accessor(runtime.getCurrentContext(),new IRubyObject[]{runtime.newSymbol("buffer_size")});
1336
1296
  CallbackFactory fact = runtime.callbackFactory(HpricotScanService.class);
1337
1297
  mHpricot.getMetaClass().defineMethod("scan",fact.getSingletonMethod("__hpricot_scan",IRubyObject.class));
1338
- mHpricot.defineClassUnder("ParseError",runtime.getClass("Exception"),runtime.getClass("Exception").getAllocator());
1298
+ mHpricot.defineClassUnder("ParseError",runtime.getClass("StandardError"),runtime.getClass("StandardError").getAllocator());
1299
+ rubyApi = JavaEmbedUtils.newObjectAdapter();
1339
1300
  }
1340
1301
  }