hpricot 0.6-mswin32 → 0.6.164-mswin32

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.
@@ -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
  }