why-hpricot 0.6.210 → 0.7.229
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.
- data/CHANGELOG +13 -0
- data/Rakefile +14 -9
- data/ext/fast_xs/fast_xs.c +2 -1
- data/ext/hpricot_scan/HpricotScanService.java +1122 -342
- data/ext/hpricot_scan/hpricot_css.c +2112 -2116
- data/ext/hpricot_scan/hpricot_scan.c +1169 -923
- data/ext/hpricot_scan/hpricot_scan.java.rl +1078 -299
- data/ext/hpricot_scan/hpricot_scan.rl +327 -237
- data/lib/hpricot/elements.rb +1 -1
- data/lib/hpricot/inspect.rb +2 -2
- data/lib/hpricot/modules.rb +2 -0
- data/lib/hpricot/tag.rb +43 -22
- data/lib/hpricot/traverse.rb +1 -0
- data/test/test_alter.rb +20 -2
- data/test/test_parser.rb +19 -0
- data/test/test_preserved.rb +9 -0
- metadata +6 -6
@@ -20,20 +20,26 @@ VALUE hpricot_css(VALUE, VALUE, VALUE, VALUE, VALUE);
|
|
20
20
|
#define 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
21
|
|
22
22
|
static VALUE sym_xmldecl, sym_doctype, sym_procins, sym_stag, sym_etag, sym_emptytag, sym_comment,
|
23
|
-
sym_cdata,
|
23
|
+
sym_cdata, sym_name, sym_parent, sym_raw_attributes, sym_raw_string, sym_tagno,
|
24
|
+
sym_allowed, sym_text, sym_children, sym_EMPTY, sym_CDATA;
|
24
25
|
static VALUE mHpricot, rb_eHpricotParseError;
|
25
|
-
static VALUE
|
26
|
+
static VALUE cBogusETag, cCData, cComment, cDoc, cDocType, cElem, cText,
|
26
27
|
cXMLDecl, cProcIns, symAllow, symDeny;
|
27
28
|
static ID s_ElementContent;
|
28
29
|
static ID s_downcase, s_new, s_parent, s_read, s_to_str;
|
29
|
-
static ID iv_parent;
|
30
30
|
static VALUE reProcInsParse;
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
#define H_ELE_TAG 0
|
33
|
+
#define H_ELE_PARENT 1
|
34
|
+
#define H_ELE_ATTR 2
|
35
|
+
#define H_ELE_ETAG 3
|
36
|
+
#define H_ELE_RAW 4
|
37
|
+
#define H_ELE_EC 5
|
38
|
+
#define H_ELE_HASH 6
|
39
|
+
#define H_ELE_CHILDREN 7
|
40
|
+
|
41
|
+
#define H_ELE_GET(ele, idx) RSTRUCT_PTR(ele)[idx]
|
42
|
+
#define H_ELE_SET(ele, idx, val) RSTRUCT_PTR(ele)[idx] = val
|
37
43
|
|
38
44
|
#define OPT(opts, key) (!NIL_P(opts) && RTEST(rb_hash_aref(opts, ID2SYM(rb_intern("" # key)))))
|
39
45
|
|
@@ -61,7 +67,7 @@ typedef struct {
|
|
61
67
|
|
62
68
|
#define CAT(N, E) if (NIL_P(N)) { SET(N, E); } else { rb_str_cat(N, mark_##N, E - mark_##N); }
|
63
69
|
|
64
|
-
#define SLIDE(N) if (
|
70
|
+
#define SLIDE(N) if (mark_##N > ts) mark_##N = buf + (mark_##N - ts);
|
65
71
|
|
66
72
|
#define ATTR(K, V) \
|
67
73
|
if (!NIL_P(K)) { \
|
@@ -87,11 +93,11 @@ typedef struct {
|
|
87
93
|
|
88
94
|
#define EBLK(N, T) CAT(tag, p - T + 1); ELE(N);
|
89
95
|
|
90
|
-
#line
|
96
|
+
#line 142 "hpricot_scan.rl"
|
91
97
|
|
92
98
|
|
93
99
|
|
94
|
-
#line
|
100
|
+
#line 101 "hpricot_scan.c"
|
95
101
|
static const int hpricot_scan_start = 204;
|
96
102
|
static const int hpricot_scan_error = -1;
|
97
103
|
|
@@ -100,7 +106,7 @@ static const int hpricot_scan_en_html_cdata = 216;
|
|
100
106
|
static const int hpricot_scan_en_html_procins = 218;
|
101
107
|
static const int hpricot_scan_en_main = 204;
|
102
108
|
|
103
|
-
#line
|
109
|
+
#line 145 "hpricot_scan.rl"
|
104
110
|
|
105
111
|
#define BUFSIZE 16384
|
106
112
|
|
@@ -111,7 +117,7 @@ void rb_yield_tokens(VALUE sym, VALUE tag, VALUE attr, VALUE raw, int taint)
|
|
111
117
|
raw = tag;
|
112
118
|
}
|
113
119
|
ary = rb_ary_new3(4, sym, tag, attr, raw);
|
114
|
-
if (taint) {
|
120
|
+
if (taint) {
|
115
121
|
OBJ_TAINT(ary);
|
116
122
|
OBJ_TAINT(tag);
|
117
123
|
OBJ_TAINT(attr);
|
@@ -120,16 +126,30 @@ void rb_yield_tokens(VALUE sym, VALUE tag, VALUE attr, VALUE raw, int taint)
|
|
120
126
|
rb_yield(ary);
|
121
127
|
}
|
122
128
|
|
129
|
+
#ifndef RHASH_TBL
|
130
|
+
/* rb_hash_lookup() is only in Ruby 1.8.7 */
|
131
|
+
static VALUE
|
132
|
+
our_rb_hash_lookup(VALUE hash, VALUE key)
|
133
|
+
{
|
134
|
+
VALUE val;
|
135
|
+
|
136
|
+
if (!st_lookup(RHASH(hash)->tbl, key, &val)) {
|
137
|
+
return Qnil; /* without Hash#default */
|
138
|
+
}
|
139
|
+
|
140
|
+
return val;
|
141
|
+
}
|
142
|
+
#define rb_hash_lookup our_rb_hash_lookup
|
143
|
+
#endif
|
144
|
+
|
123
145
|
static void
|
124
146
|
rb_hpricot_add(VALUE focus, VALUE ele)
|
125
147
|
{
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
rb_ary_push(he->children, ele);
|
132
|
-
he2->parent = focus;
|
148
|
+
VALUE children = H_ELE_GET(focus, H_ELE_CHILDREN);
|
149
|
+
if (NIL_P(children))
|
150
|
+
H_ELE_SET(focus, H_ELE_CHILDREN, (children = rb_ary_new2(1)));
|
151
|
+
rb_ary_push(children, ele);
|
152
|
+
H_ELE_SET(ele, H_ELE_PARENT, focus);
|
133
153
|
}
|
134
154
|
|
135
155
|
typedef struct {
|
@@ -140,102 +160,70 @@ typedef struct {
|
|
140
160
|
unsigned char xml, strict, fixup;
|
141
161
|
} hpricot_state;
|
142
162
|
|
143
|
-
|
144
|
-
hpricot_ele_mark(hpricot_ele *he)
|
145
|
-
{
|
146
|
-
rb_gc_mark(he->tag);
|
147
|
-
rb_gc_mark(he->attr);
|
148
|
-
rb_gc_mark(he->etag);
|
149
|
-
rb_gc_mark(he->raw);
|
150
|
-
rb_gc_mark(he->parent);
|
151
|
-
rb_gc_mark(he->children);
|
152
|
-
}
|
153
|
-
|
154
|
-
static void
|
155
|
-
hpricot_ele_free(hpricot_ele *he)
|
156
|
-
{
|
157
|
-
free(he);
|
158
|
-
}
|
159
|
-
|
160
|
-
#define H_PROP(prop) \
|
163
|
+
#define H_PROP(prop, idx) \
|
161
164
|
static VALUE hpricot_ele_set_##prop(VALUE self, VALUE x) { \
|
162
|
-
|
163
|
-
Data_Get_Struct(self, hpricot_ele, he); \
|
164
|
-
he->prop = x; \
|
165
|
+
H_ELE_SET(self, idx, x); \
|
165
166
|
return self; \
|
166
167
|
} \
|
168
|
+
static VALUE hpricot_ele_clear_##prop(VALUE self) { \
|
169
|
+
H_ELE_SET(self, idx, Qnil); \
|
170
|
+
return Qtrue; \
|
171
|
+
} \
|
167
172
|
static VALUE hpricot_ele_get_##prop(VALUE self) { \
|
168
|
-
|
169
|
-
Data_Get_Struct(self, hpricot_ele, he); \
|
170
|
-
return he->prop; \
|
173
|
+
return H_ELE_GET(self, idx); \
|
171
174
|
}
|
172
175
|
|
173
176
|
#define H_ATTR(prop) \
|
174
177
|
static VALUE hpricot_ele_set_##prop(VALUE self, VALUE x) { \
|
175
|
-
|
176
|
-
Data_Get_Struct(self, hpricot_ele, he); \
|
177
|
-
rb_hash_aset(he->attr, ID2SYM(rb_intern("" # prop)), x); \
|
178
|
+
rb_hash_aset(H_ELE_GET(self, H_ELE_ATTR), ID2SYM(rb_intern("" # prop)), x); \
|
178
179
|
return self; \
|
179
180
|
} \
|
180
181
|
static VALUE hpricot_ele_get_##prop(VALUE self) { \
|
181
|
-
|
182
|
-
Data_Get_Struct(self, hpricot_ele, he); \
|
183
|
-
return rb_hash_aref(he->attr, ID2SYM(rb_intern("" # prop))); \
|
182
|
+
return rb_hash_aref(H_ELE_GET(self, H_ELE_ATTR), ID2SYM(rb_intern("" # prop))); \
|
184
183
|
}
|
185
184
|
|
186
|
-
H_PROP(
|
187
|
-
H_PROP(
|
188
|
-
H_PROP(
|
189
|
-
H_PROP(
|
190
|
-
H_PROP(
|
185
|
+
H_PROP(name, H_ELE_TAG);
|
186
|
+
H_PROP(raw, H_ELE_RAW);
|
187
|
+
H_PROP(parent, H_ELE_PARENT);
|
188
|
+
H_PROP(attr, H_ELE_ATTR);
|
189
|
+
H_PROP(etag, H_ELE_ETAG);
|
190
|
+
H_PROP(children, H_ELE_CHILDREN);
|
191
|
+
H_ATTR(target);
|
191
192
|
H_ATTR(encoding);
|
192
193
|
H_ATTR(version);
|
193
194
|
H_ATTR(standalone);
|
194
195
|
H_ATTR(system_id);
|
195
196
|
H_ATTR(public_id);
|
196
197
|
|
197
|
-
static VALUE
|
198
|
-
hpricot_ele_get_raw(VALUE self, VALUE x) {
|
199
|
-
hpricot_ele *he;
|
200
|
-
Data_Get_Struct(self, hpricot_ele, he);
|
201
|
-
return he->raw;
|
202
|
-
}
|
203
|
-
|
204
|
-
static VALUE
|
205
|
-
hpricot_ele_clear_raw(VALUE self)
|
206
|
-
{
|
207
|
-
hpricot_ele *he;
|
208
|
-
Data_Get_Struct(self, hpricot_ele, he);
|
209
|
-
he->raw = Qnil;
|
210
|
-
return Qtrue;
|
211
|
-
}
|
212
|
-
|
213
198
|
#define H_ELE(klass) \
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
199
|
+
ele = rb_obj_alloc(klass); \
|
200
|
+
if (klass == cElem) { \
|
201
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
202
|
+
H_ELE_SET(ele, H_ELE_ATTR, attr); \
|
203
|
+
H_ELE_SET(ele, H_ELE_EC, ec); \
|
204
|
+
if (raw != NULL && (sym == sym_emptytag || sym == sym_stag || sym == sym_doctype)) { \
|
205
|
+
H_ELE_SET(ele, H_ELE_RAW, rb_str_new(raw, rawlen)); \
|
206
|
+
} \
|
207
|
+
} else if (klass == cDocType || klass == cProcIns || klass == cXMLDecl || klass == cBogusETag) { \
|
208
|
+
if (klass == cBogusETag) { \
|
209
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
210
|
+
if (raw != NULL) \
|
211
|
+
H_ELE_SET(ele, H_ELE_ATTR, rb_str_new(raw, rawlen)); \
|
212
|
+
} else { \
|
213
|
+
if (klass == cDocType) \
|
214
|
+
ATTR(ID2SYM(rb_intern("target")), tag); \
|
215
|
+
H_ELE_SET(ele, H_ELE_ATTR, attr); \
|
216
|
+
if (klass != cProcIns) { \
|
217
|
+
tag = Qnil; \
|
218
|
+
if (raw != NULL) tag = rb_str_new(raw, rawlen); \
|
219
|
+
} \
|
220
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
221
|
+
} \
|
222
|
+
} else { \
|
223
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
223
224
|
} \
|
224
|
-
ele = Data_Wrap_Struct(klass, hpricot_ele_mark, hpricot_ele_free, he); \
|
225
225
|
S->last = ele
|
226
226
|
|
227
|
-
VALUE
|
228
|
-
hpricot_ele_alloc(VALUE klass)
|
229
|
-
{
|
230
|
-
VALUE ele;
|
231
|
-
hpricot_ele *he = ALLOC(hpricot_ele);
|
232
|
-
he->name = 0;
|
233
|
-
he->tag = he->attr = he->raw = he->EC = Qnil;
|
234
|
-
he->etag = he->parent = he->children = Qnil;
|
235
|
-
ele = Data_Wrap_Struct(klass, hpricot_ele_mark, hpricot_ele_free, he);
|
236
|
-
return ele;
|
237
|
-
}
|
238
|
-
|
239
227
|
//
|
240
228
|
// the swift, compact parser logic. most of the complicated stuff is done
|
241
229
|
// in the lexer. this step just pairs up the start and end tags.
|
@@ -249,22 +237,23 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
249
237
|
// in html mode, fix up start tags incorrectly formed as empty tags
|
250
238
|
//
|
251
239
|
if (!S->xml) {
|
252
|
-
hpricot_ele *last;
|
253
|
-
Data_Get_Struct(S->focus, hpricot_ele, last);
|
254
|
-
if (last->EC == sym_CDATA &&
|
255
|
-
(sym != sym_procins && sym != sym_comment && sym != sym_cdata && sym != sym_text) &&
|
256
|
-
!(sym == sym_etag && rb_str_hash(tag) == last->name))
|
257
|
-
{
|
258
|
-
sym = sym_text;
|
259
|
-
tag = rb_str_new(raw, rawlen);
|
260
|
-
}
|
261
|
-
|
262
240
|
if (sym == sym_emptytag || sym == sym_stag || sym == sym_etag) {
|
263
241
|
ec = rb_hash_aref(S->EC, tag);
|
264
242
|
if (NIL_P(ec)) {
|
265
243
|
tag = rb_funcall(tag, s_downcase, 0);
|
266
244
|
ec = rb_hash_aref(S->EC, tag);
|
267
245
|
}
|
246
|
+
}
|
247
|
+
|
248
|
+
if (H_ELE_GET(S->focus, H_ELE_EC) == sym_CDATA &&
|
249
|
+
(sym != sym_procins && sym != sym_comment && sym != sym_cdata && sym != sym_text) &&
|
250
|
+
!(sym == sym_etag && INT2FIX(rb_str_hash(tag)) == H_ELE_GET(S->focus, H_ELE_HASH)))
|
251
|
+
{
|
252
|
+
sym = sym_text;
|
253
|
+
tag = rb_str_new(raw, rawlen);
|
254
|
+
}
|
255
|
+
|
256
|
+
if (!NIL_P(ec)) {
|
268
257
|
if (sym == sym_emptytag) {
|
269
258
|
if (ec != sym_EMPTY)
|
270
259
|
sym = sym_stag;
|
@@ -276,19 +265,19 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
276
265
|
}
|
277
266
|
|
278
267
|
if (sym == sym_emptytag || sym == sym_stag) {
|
268
|
+
VALUE name = INT2FIX(rb_str_hash(tag));
|
279
269
|
H_ELE(cElem);
|
280
|
-
|
270
|
+
H_ELE_SET(ele, H_ELE_HASH, name);
|
281
271
|
|
282
272
|
if (!S->xml) {
|
283
273
|
VALUE match = Qnil, e = S->focus;
|
284
274
|
while (e != S->doc)
|
285
275
|
{
|
286
|
-
|
287
|
-
Data_Get_Struct(e, hpricot_ele, hee);
|
276
|
+
VALUE hEC = H_ELE_GET(e, H_ELE_EC);
|
288
277
|
|
289
|
-
if (TYPE(
|
278
|
+
if (TYPE(hEC) == T_HASH)
|
290
279
|
{
|
291
|
-
VALUE has = rb_hash_lookup(
|
280
|
+
VALUE has = rb_hash_lookup(hEC, name);
|
292
281
|
if (has != Qnil) {
|
293
282
|
if (has == Qtrue) {
|
294
283
|
if (match == Qnil)
|
@@ -301,7 +290,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
301
290
|
}
|
302
291
|
}
|
303
292
|
|
304
|
-
e =
|
293
|
+
e = H_ELE_GET(e, H_ELE_PARENT);
|
305
294
|
}
|
306
295
|
|
307
296
|
if (match == Qnil)
|
@@ -323,8 +312,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
323
312
|
}
|
324
313
|
}
|
325
314
|
} else if (sym == sym_etag) {
|
326
|
-
|
327
|
-
VALUE match = Qnil, e = S->focus;
|
315
|
+
VALUE name, match = Qnil, e = S->focus;
|
328
316
|
if (S->strict) {
|
329
317
|
if (NIL_P(rb_hash_aref(S->EC, tag))) {
|
330
318
|
tag = rb_str_new2("div");
|
@@ -337,19 +325,16 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
337
325
|
//
|
338
326
|
// (see also: the search above for fixups)
|
339
327
|
//
|
340
|
-
name = rb_str_hash(tag);
|
328
|
+
name = INT2FIX(rb_str_hash(tag));
|
341
329
|
while (e != S->doc)
|
342
330
|
{
|
343
|
-
|
344
|
-
Data_Get_Struct(e, hpricot_ele, he);
|
345
|
-
|
346
|
-
if (he->name == name)
|
331
|
+
if (H_ELE_GET(e, H_ELE_HASH) == name)
|
347
332
|
{
|
348
333
|
match = e;
|
349
334
|
break;
|
350
335
|
}
|
351
336
|
|
352
|
-
e =
|
337
|
+
e = H_ELE_GET(e, H_ELE_PARENT);
|
353
338
|
}
|
354
339
|
|
355
340
|
if (NIL_P(match))
|
@@ -359,10 +344,11 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
359
344
|
}
|
360
345
|
else
|
361
346
|
{
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
347
|
+
VALUE ele = Qnil;
|
348
|
+
if (raw != NULL)
|
349
|
+
ele = rb_str_new(raw, rawlen);
|
350
|
+
H_ELE_SET(match, H_ELE_ETAG, ele);
|
351
|
+
S->focus = H_ELE_GET(match, H_ELE_PARENT);
|
366
352
|
S->last = Qnil;
|
367
353
|
}
|
368
354
|
} else if (sym == sym_cdata) {
|
@@ -382,14 +368,14 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
382
368
|
VALUE match = rb_funcall(tag, rb_intern("match"), 1, reProcInsParse);
|
383
369
|
tag = rb_reg_nth_match(1, match);
|
384
370
|
attr = rb_reg_nth_match(2, match);
|
385
|
-
|
386
|
-
|
371
|
+
{
|
372
|
+
H_ELE(cProcIns);
|
373
|
+
rb_hpricot_add(S->focus, ele);
|
374
|
+
}
|
387
375
|
} else if (sym == sym_text) {
|
388
376
|
// TODO: add raw_string as well?
|
389
377
|
if (!NIL_P(S->last) && RBASIC(S->last)->klass == cText) {
|
390
|
-
|
391
|
-
Data_Get_Struct(S->last, hpricot_ele, he);
|
392
|
-
rb_str_append(he->tag, tag);
|
378
|
+
rb_str_append(H_ELE_GET(S->last, H_ELE_TAG), tag);
|
393
379
|
} else {
|
394
380
|
H_ELE(cText);
|
395
381
|
rb_hpricot_add(S->focus, ele);
|
@@ -402,7 +388,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
402
388
|
|
403
389
|
VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
404
390
|
{
|
405
|
-
int cs, act, have = 0, nread = 0, curline = 1, text = 0;
|
391
|
+
int cs, act, have = 0, nread = 0, curline = 1, text = 0, io = 0;
|
406
392
|
char *ts = 0, *te = 0, *buf = NULL, *eof = NULL;
|
407
393
|
|
408
394
|
hpricot_state *S = NULL;
|
@@ -412,12 +398,13 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
412
398
|
int done = 0, ele_open = 0, buffer_size = 0, taint = 0;
|
413
399
|
|
414
400
|
rb_scan_args(argc, argv, "11", &port, &opts);
|
415
|
-
taint = OBJ_TAINTED(
|
416
|
-
|
401
|
+
taint = OBJ_TAINTED(port);
|
402
|
+
io = rb_respond_to(port, s_read);
|
403
|
+
if (!io)
|
417
404
|
{
|
418
|
-
if (
|
405
|
+
if (rb_respond_to(port, s_to_str))
|
419
406
|
{
|
420
|
-
port = rb_funcall(
|
407
|
+
port = rb_funcall(port, s_to_str, 0);
|
421
408
|
StringValue(port);
|
422
409
|
}
|
423
410
|
else
|
@@ -432,10 +419,7 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
432
419
|
if (!rb_block_given_p())
|
433
420
|
{
|
434
421
|
S = ALLOC(hpricot_state);
|
435
|
-
|
436
|
-
MEMZERO(he, hpricot_ele, 1);
|
437
|
-
he->tag = he->attr = he->etag = he->parent = he->children = Qnil;
|
438
|
-
S->doc = Data_Wrap_Struct(cDoc, hpricot_ele_mark, hpricot_ele_free, he);
|
422
|
+
S->doc = rb_obj_alloc(cDoc);
|
439
423
|
rb_gc_register_address(&S->doc);
|
440
424
|
S->focus = S->doc;
|
441
425
|
S->last = Qnil;
|
@@ -455,70 +439,72 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
455
439
|
buffer_size = NUM2INT(bufsize);
|
456
440
|
}
|
457
441
|
}
|
458
|
-
|
442
|
+
|
443
|
+
if (io)
|
444
|
+
buf = ALLOC_N(char, buffer_size);
|
459
445
|
|
460
446
|
|
461
|
-
#line
|
447
|
+
#line 448 "hpricot_scan.c"
|
462
448
|
{
|
463
449
|
cs = hpricot_scan_start;
|
464
450
|
ts = 0;
|
465
451
|
te = 0;
|
466
452
|
act = 0;
|
467
453
|
}
|
468
|
-
#line
|
469
|
-
|
470
|
-
while (
|
454
|
+
#line 482 "hpricot_scan.rl"
|
455
|
+
|
456
|
+
while (!done) {
|
471
457
|
VALUE str;
|
472
458
|
char *p, *pe;
|
473
459
|
int len, space = buffer_size - have, tokstart_diff, tokend_diff, mark_tag_diff, mark_akey_diff, mark_aval_diff;
|
474
460
|
|
475
|
-
if (
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
461
|
+
if (io)
|
462
|
+
{
|
463
|
+
if (space == 0) {
|
464
|
+
/* We've used up the entire buffer storing an already-parsed token
|
465
|
+
* prefix that must be preserved. Likely caused by super-long attributes.
|
466
|
+
* Increase buffer size and continue */
|
467
|
+
tokstart_diff = ts - buf;
|
468
|
+
tokend_diff = te - buf;
|
469
|
+
mark_tag_diff = mark_tag - buf;
|
470
|
+
mark_akey_diff = mark_akey - buf;
|
471
|
+
mark_aval_diff = mark_aval - buf;
|
484
472
|
|
485
|
-
|
486
|
-
|
473
|
+
buffer_size += BUFSIZE;
|
474
|
+
REALLOC_N(buf, char, buffer_size);
|
487
475
|
|
488
|
-
|
476
|
+
space = buffer_size - have;
|
489
477
|
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
478
|
+
ts = buf + tokstart_diff;
|
479
|
+
te = buf + tokend_diff;
|
480
|
+
mark_tag = buf + mark_tag_diff;
|
481
|
+
mark_akey = buf + mark_akey_diff;
|
482
|
+
mark_aval = buf + mark_aval_diff;
|
483
|
+
}
|
484
|
+
p = buf + have;
|
497
485
|
|
498
|
-
if ( rb_respond_to( port, s_read ) )
|
499
|
-
{
|
500
486
|
str = rb_funcall(port, s_read, 1, INT2FIX(space));
|
501
487
|
len = RSTRING_LEN(str);
|
502
488
|
memcpy(p, StringValuePtr(str), len);
|
503
489
|
}
|
504
490
|
else
|
505
491
|
{
|
506
|
-
|
507
|
-
|
508
|
-
|
492
|
+
p = RSTRING_PTR(port);
|
493
|
+
len = RSTRING_LEN(port) + 1;
|
494
|
+
done = 1;
|
509
495
|
}
|
510
496
|
|
511
497
|
nread += len;
|
512
498
|
|
513
499
|
/* If this is the last buffer, tack on an EOF. */
|
514
|
-
if ( len < space
|
500
|
+
if (io && len < space) {
|
515
501
|
p[len++] = 0;
|
516
502
|
done = 1;
|
517
503
|
}
|
518
504
|
|
519
505
|
pe = p + len;
|
520
506
|
|
521
|
-
#line
|
507
|
+
#line 508 "hpricot_scan.c"
|
522
508
|
{
|
523
509
|
if ( p == pe )
|
524
510
|
goto _test_eof;
|
@@ -533,7 +519,7 @@ tr4:
|
|
533
519
|
{te = p+1;{ {goto st214;} }}
|
534
520
|
goto st204;
|
535
521
|
tr15:
|
536
|
-
#line
|
522
|
+
#line 113 "hpricot_scan.rl"
|
537
523
|
{ SET(tag, p); }
|
538
524
|
#line 66 "hpricot_scan.rl"
|
539
525
|
{te = p+1;{ ELE(doctype); }}
|
@@ -565,7 +551,7 @@ tr93:
|
|
565
551
|
{te = p+1;{ {goto st216;} }}
|
566
552
|
goto st204;
|
567
553
|
tr97:
|
568
|
-
#line
|
554
|
+
#line 113 "hpricot_scan.rl"
|
569
555
|
{ SET(tag, p); }
|
570
556
|
#line 69 "hpricot_scan.rl"
|
571
557
|
{te = p+1;{ ELE(etag); }}
|
@@ -575,7 +561,7 @@ tr99:
|
|
575
561
|
{te = p+1;{ ELE(etag); }}
|
576
562
|
goto st204;
|
577
563
|
tr103:
|
578
|
-
#line
|
564
|
+
#line 113 "hpricot_scan.rl"
|
579
565
|
{ SET(tag, p); }
|
580
566
|
#line 68 "hpricot_scan.rl"
|
581
567
|
{te = p+1;{ ELE(stag); }}
|
@@ -585,18 +571,22 @@ tr107:
|
|
585
571
|
{te = p+1;{ ELE(stag); }}
|
586
572
|
goto st204;
|
587
573
|
tr112:
|
588
|
-
#line
|
574
|
+
#line 120 "hpricot_scan.rl"
|
589
575
|
{ SET(akey, p); }
|
590
|
-
#line
|
591
|
-
{
|
576
|
+
#line 134 "hpricot_scan.rl"
|
577
|
+
{
|
578
|
+
if (!S->xml)
|
579
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
592
580
|
ATTR(akey, aval);
|
593
581
|
}
|
594
582
|
#line 68 "hpricot_scan.rl"
|
595
583
|
{te = p+1;{ ELE(stag); }}
|
596
584
|
goto st204;
|
597
585
|
tr117:
|
598
|
-
#line
|
599
|
-
{
|
586
|
+
#line 134 "hpricot_scan.rl"
|
587
|
+
{
|
588
|
+
if (!S->xml)
|
589
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
600
590
|
ATTR(akey, aval);
|
601
591
|
}
|
602
592
|
#line 68 "hpricot_scan.rl"
|
@@ -607,25 +597,29 @@ tr118:
|
|
607
597
|
{te = p+1;{ ELE(emptytag); }}
|
608
598
|
goto st204;
|
609
599
|
tr129:
|
610
|
-
#line
|
611
|
-
{
|
600
|
+
#line 116 "hpricot_scan.rl"
|
601
|
+
{
|
612
602
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
613
603
|
else { SET(aval, p); }
|
614
604
|
}
|
615
|
-
#line
|
616
|
-
{
|
605
|
+
#line 134 "hpricot_scan.rl"
|
606
|
+
{
|
607
|
+
if (!S->xml)
|
608
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
617
609
|
ATTR(akey, aval);
|
618
610
|
}
|
619
611
|
#line 68 "hpricot_scan.rl"
|
620
612
|
{te = p+1;{ ELE(stag); }}
|
621
613
|
goto st204;
|
622
614
|
tr133:
|
623
|
-
#line
|
624
|
-
{
|
615
|
+
#line 134 "hpricot_scan.rl"
|
616
|
+
{
|
617
|
+
if (!S->xml)
|
618
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
625
619
|
ATTR(akey, aval);
|
626
620
|
}
|
627
|
-
#line
|
628
|
-
{
|
621
|
+
#line 116 "hpricot_scan.rl"
|
622
|
+
{
|
629
623
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
630
624
|
else { SET(aval, p); }
|
631
625
|
}
|
@@ -633,15 +627,17 @@ tr133:
|
|
633
627
|
{te = p+1;{ ELE(stag); }}
|
634
628
|
goto st204;
|
635
629
|
tr139:
|
636
|
-
#line
|
637
|
-
{
|
630
|
+
#line 116 "hpricot_scan.rl"
|
631
|
+
{
|
638
632
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
639
633
|
else { SET(aval, p); }
|
640
634
|
}
|
641
|
-
#line
|
635
|
+
#line 120 "hpricot_scan.rl"
|
642
636
|
{ SET(akey, p); }
|
643
|
-
#line
|
644
|
-
{
|
637
|
+
#line 134 "hpricot_scan.rl"
|
638
|
+
{
|
639
|
+
if (!S->xml)
|
640
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
645
641
|
ATTR(akey, aval);
|
646
642
|
}
|
647
643
|
#line 68 "hpricot_scan.rl"
|
@@ -685,7 +681,7 @@ st204:
|
|
685
681
|
case 204:
|
686
682
|
#line 1 "hpricot_scan.rl"
|
687
683
|
{ts = p;}
|
688
|
-
#line
|
684
|
+
#line 685 "hpricot_scan.c"
|
689
685
|
switch( (*p) ) {
|
690
686
|
case 10: goto tr412;
|
691
687
|
case 60: goto tr413;
|
@@ -694,7 +690,7 @@ case 204:
|
|
694
690
|
tr413:
|
695
691
|
#line 1 "hpricot_scan.rl"
|
696
692
|
{te = p+1;}
|
697
|
-
#line
|
693
|
+
#line 98 "hpricot_scan.rl"
|
698
694
|
{
|
699
695
|
if (text == 1) {
|
700
696
|
CAT(tag, p);
|
@@ -713,7 +709,7 @@ st205:
|
|
713
709
|
if ( ++p == pe )
|
714
710
|
goto _test_eof205;
|
715
711
|
case 205:
|
716
|
-
#line
|
712
|
+
#line 713 "hpricot_scan.c"
|
717
713
|
switch( (*p) ) {
|
718
714
|
case 33: goto st0;
|
719
715
|
case 47: goto st59;
|
@@ -814,14 +810,14 @@ case 9:
|
|
814
810
|
goto tr12;
|
815
811
|
goto tr0;
|
816
812
|
tr12:
|
817
|
-
#line
|
813
|
+
#line 110 "hpricot_scan.rl"
|
818
814
|
{ mark_tag = p; }
|
819
815
|
goto st10;
|
820
816
|
st10:
|
821
817
|
if ( ++p == pe )
|
822
818
|
goto _test_eof10;
|
823
819
|
case 10:
|
824
|
-
#line
|
820
|
+
#line 821 "hpricot_scan.c"
|
825
821
|
switch( (*p) ) {
|
826
822
|
case 32: goto tr13;
|
827
823
|
case 62: goto tr15;
|
@@ -845,14 +841,14 @@ case 10:
|
|
845
841
|
goto st10;
|
846
842
|
goto tr0;
|
847
843
|
tr13:
|
848
|
-
#line
|
844
|
+
#line 113 "hpricot_scan.rl"
|
849
845
|
{ SET(tag, p); }
|
850
846
|
goto st11;
|
851
847
|
st11:
|
852
848
|
if ( ++p == pe )
|
853
849
|
goto _test_eof11;
|
854
850
|
case 11:
|
855
|
-
#line
|
851
|
+
#line 852 "hpricot_scan.c"
|
856
852
|
switch( (*p) ) {
|
857
853
|
case 32: goto st11;
|
858
854
|
case 62: goto tr18;
|
@@ -942,14 +938,14 @@ case 19:
|
|
942
938
|
goto tr30;
|
943
939
|
goto tr0;
|
944
940
|
tr30:
|
945
|
-
#line
|
941
|
+
#line 111 "hpricot_scan.rl"
|
946
942
|
{ mark_aval = p; }
|
947
943
|
goto st20;
|
948
944
|
st20:
|
949
945
|
if ( ++p == pe )
|
950
946
|
goto _test_eof20;
|
951
947
|
case 20:
|
952
|
-
#line
|
948
|
+
#line 949 "hpricot_scan.c"
|
953
949
|
switch( (*p) ) {
|
954
950
|
case 9: goto st20;
|
955
951
|
case 34: goto tr33;
|
@@ -969,20 +965,20 @@ case 20:
|
|
969
965
|
goto st20;
|
970
966
|
goto tr0;
|
971
967
|
tr31:
|
972
|
-
#line
|
968
|
+
#line 111 "hpricot_scan.rl"
|
973
969
|
{ mark_aval = p; }
|
974
|
-
#line
|
970
|
+
#line 124 "hpricot_scan.rl"
|
975
971
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
976
972
|
goto st21;
|
977
973
|
tr33:
|
978
|
-
#line
|
974
|
+
#line 124 "hpricot_scan.rl"
|
979
975
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
980
976
|
goto st21;
|
981
977
|
st21:
|
982
978
|
if ( ++p == pe )
|
983
979
|
goto _test_eof21;
|
984
980
|
case 21:
|
985
|
-
#line
|
981
|
+
#line 982 "hpricot_scan.c"
|
986
982
|
switch( (*p) ) {
|
987
983
|
case 32: goto st22;
|
988
984
|
case 62: goto tr18;
|
@@ -1013,32 +1009,32 @@ case 23:
|
|
1013
1009
|
goto tr38;
|
1014
1010
|
goto tr37;
|
1015
1011
|
tr37:
|
1016
|
-
#line
|
1012
|
+
#line 111 "hpricot_scan.rl"
|
1017
1013
|
{ mark_aval = p; }
|
1018
1014
|
goto st24;
|
1019
1015
|
st24:
|
1020
1016
|
if ( ++p == pe )
|
1021
1017
|
goto _test_eof24;
|
1022
1018
|
case 24:
|
1023
|
-
#line
|
1019
|
+
#line 1020 "hpricot_scan.c"
|
1024
1020
|
if ( (*p) == 34 )
|
1025
1021
|
goto tr41;
|
1026
1022
|
goto st24;
|
1027
1023
|
tr38:
|
1028
|
-
#line
|
1024
|
+
#line 111 "hpricot_scan.rl"
|
1029
1025
|
{ mark_aval = p; }
|
1030
|
-
#line
|
1026
|
+
#line 125 "hpricot_scan.rl"
|
1031
1027
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1032
1028
|
goto st25;
|
1033
1029
|
tr41:
|
1034
|
-
#line
|
1030
|
+
#line 125 "hpricot_scan.rl"
|
1035
1031
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1036
1032
|
goto st25;
|
1037
1033
|
st25:
|
1038
1034
|
if ( ++p == pe )
|
1039
1035
|
goto _test_eof25;
|
1040
1036
|
case 25:
|
1041
|
-
#line
|
1037
|
+
#line 1038 "hpricot_scan.c"
|
1042
1038
|
switch( (*p) ) {
|
1043
1039
|
case 32: goto st25;
|
1044
1040
|
case 62: goto tr18;
|
@@ -1048,14 +1044,14 @@ case 25:
|
|
1048
1044
|
goto st25;
|
1049
1045
|
goto tr39;
|
1050
1046
|
tr16:
|
1051
|
-
#line
|
1047
|
+
#line 113 "hpricot_scan.rl"
|
1052
1048
|
{ SET(tag, p); }
|
1053
1049
|
goto st26;
|
1054
1050
|
st26:
|
1055
1051
|
if ( ++p == pe )
|
1056
1052
|
goto _test_eof26;
|
1057
1053
|
case 26:
|
1058
|
-
#line
|
1054
|
+
#line 1055 "hpricot_scan.c"
|
1059
1055
|
if ( (*p) == 93 )
|
1060
1056
|
goto st27;
|
1061
1057
|
goto st26;
|
@@ -1078,14 +1074,14 @@ case 28:
|
|
1078
1074
|
goto tr38;
|
1079
1075
|
goto tr44;
|
1080
1076
|
tr44:
|
1081
|
-
#line
|
1077
|
+
#line 111 "hpricot_scan.rl"
|
1082
1078
|
{ mark_aval = p; }
|
1083
1079
|
goto st29;
|
1084
1080
|
st29:
|
1085
1081
|
if ( ++p == pe )
|
1086
1082
|
goto _test_eof29;
|
1087
1083
|
case 29:
|
1088
|
-
#line
|
1084
|
+
#line 1085 "hpricot_scan.c"
|
1089
1085
|
if ( (*p) == 39 )
|
1090
1086
|
goto tr41;
|
1091
1087
|
goto st29;
|
@@ -1115,14 +1111,14 @@ case 30:
|
|
1115
1111
|
goto tr46;
|
1116
1112
|
goto tr0;
|
1117
1113
|
tr46:
|
1118
|
-
#line
|
1114
|
+
#line 111 "hpricot_scan.rl"
|
1119
1115
|
{ mark_aval = p; }
|
1120
1116
|
goto st31;
|
1121
1117
|
st31:
|
1122
1118
|
if ( ++p == pe )
|
1123
1119
|
goto _test_eof31;
|
1124
1120
|
case 31:
|
1125
|
-
#line
|
1121
|
+
#line 1122 "hpricot_scan.c"
|
1126
1122
|
switch( (*p) ) {
|
1127
1123
|
case 9: goto st31;
|
1128
1124
|
case 39: goto tr49;
|
@@ -1145,34 +1141,34 @@ case 31:
|
|
1145
1141
|
goto st31;
|
1146
1142
|
goto tr0;
|
1147
1143
|
tr47:
|
1148
|
-
#line
|
1144
|
+
#line 111 "hpricot_scan.rl"
|
1149
1145
|
{ mark_aval = p; }
|
1150
|
-
#line
|
1146
|
+
#line 124 "hpricot_scan.rl"
|
1151
1147
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1152
1148
|
goto st32;
|
1153
1149
|
tr49:
|
1154
|
-
#line
|
1150
|
+
#line 124 "hpricot_scan.rl"
|
1155
1151
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1156
1152
|
goto st32;
|
1157
1153
|
tr55:
|
1158
|
-
#line
|
1154
|
+
#line 124 "hpricot_scan.rl"
|
1159
1155
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1160
|
-
#line
|
1156
|
+
#line 111 "hpricot_scan.rl"
|
1161
1157
|
{ mark_aval = p; }
|
1162
|
-
#line
|
1158
|
+
#line 125 "hpricot_scan.rl"
|
1163
1159
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1164
1160
|
goto st32;
|
1165
1161
|
tr82:
|
1166
|
-
#line
|
1162
|
+
#line 124 "hpricot_scan.rl"
|
1167
1163
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1168
|
-
#line
|
1164
|
+
#line 125 "hpricot_scan.rl"
|
1169
1165
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1170
1166
|
goto st32;
|
1171
1167
|
st32:
|
1172
1168
|
if ( ++p == pe )
|
1173
1169
|
goto _test_eof32;
|
1174
1170
|
case 32:
|
1175
|
-
#line
|
1171
|
+
#line 1172 "hpricot_scan.c"
|
1176
1172
|
switch( (*p) ) {
|
1177
1173
|
case 9: goto st33;
|
1178
1174
|
case 32: goto st33;
|
@@ -1226,20 +1222,20 @@ case 33:
|
|
1226
1222
|
goto st31;
|
1227
1223
|
goto tr0;
|
1228
1224
|
tr51:
|
1229
|
-
#line
|
1225
|
+
#line 124 "hpricot_scan.rl"
|
1230
1226
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1231
1227
|
goto st34;
|
1232
1228
|
tr62:
|
1233
|
-
#line
|
1229
|
+
#line 124 "hpricot_scan.rl"
|
1234
1230
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1235
|
-
#line
|
1231
|
+
#line 125 "hpricot_scan.rl"
|
1236
1232
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1237
1233
|
goto st34;
|
1238
1234
|
st34:
|
1239
1235
|
if ( ++p == pe )
|
1240
1236
|
goto _test_eof34;
|
1241
1237
|
case 34:
|
1242
|
-
#line
|
1238
|
+
#line 1239 "hpricot_scan.c"
|
1243
1239
|
switch( (*p) ) {
|
1244
1240
|
case 9: goto tr52;
|
1245
1241
|
case 32: goto tr52;
|
@@ -1265,14 +1261,14 @@ case 34:
|
|
1265
1261
|
goto tr54;
|
1266
1262
|
goto tr44;
|
1267
1263
|
tr52:
|
1268
|
-
#line
|
1264
|
+
#line 111 "hpricot_scan.rl"
|
1269
1265
|
{ mark_aval = p; }
|
1270
1266
|
goto st35;
|
1271
1267
|
st35:
|
1272
1268
|
if ( ++p == pe )
|
1273
1269
|
goto _test_eof35;
|
1274
1270
|
case 35:
|
1275
|
-
#line
|
1271
|
+
#line 1272 "hpricot_scan.c"
|
1276
1272
|
switch( (*p) ) {
|
1277
1273
|
case 9: goto st35;
|
1278
1274
|
case 32: goto st35;
|
@@ -1298,14 +1294,14 @@ case 35:
|
|
1298
1294
|
goto st47;
|
1299
1295
|
goto st29;
|
1300
1296
|
tr53:
|
1301
|
-
#line
|
1297
|
+
#line 111 "hpricot_scan.rl"
|
1302
1298
|
{ mark_aval = p; }
|
1303
1299
|
goto st36;
|
1304
1300
|
st36:
|
1305
1301
|
if ( ++p == pe )
|
1306
1302
|
goto _test_eof36;
|
1307
1303
|
case 36:
|
1308
|
-
#line
|
1304
|
+
#line 1305 "hpricot_scan.c"
|
1309
1305
|
switch( (*p) ) {
|
1310
1306
|
case 32: goto st36;
|
1311
1307
|
case 34: goto st37;
|
@@ -1326,38 +1322,38 @@ case 37:
|
|
1326
1322
|
}
|
1327
1323
|
goto tr66;
|
1328
1324
|
tr66:
|
1329
|
-
#line
|
1325
|
+
#line 111 "hpricot_scan.rl"
|
1330
1326
|
{ mark_aval = p; }
|
1331
1327
|
goto st38;
|
1332
1328
|
st38:
|
1333
1329
|
if ( ++p == pe )
|
1334
1330
|
goto _test_eof38;
|
1335
1331
|
case 38:
|
1336
|
-
#line
|
1332
|
+
#line 1333 "hpricot_scan.c"
|
1337
1333
|
switch( (*p) ) {
|
1338
1334
|
case 34: goto tr70;
|
1339
1335
|
case 39: goto tr71;
|
1340
1336
|
}
|
1341
1337
|
goto st38;
|
1342
1338
|
tr81:
|
1343
|
-
#line
|
1339
|
+
#line 111 "hpricot_scan.rl"
|
1344
1340
|
{ mark_aval = p; }
|
1345
1341
|
goto st39;
|
1346
1342
|
tr67:
|
1347
|
-
#line
|
1343
|
+
#line 111 "hpricot_scan.rl"
|
1348
1344
|
{ mark_aval = p; }
|
1349
|
-
#line
|
1345
|
+
#line 125 "hpricot_scan.rl"
|
1350
1346
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1351
1347
|
goto st39;
|
1352
1348
|
tr70:
|
1353
|
-
#line
|
1349
|
+
#line 125 "hpricot_scan.rl"
|
1354
1350
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1355
1351
|
goto st39;
|
1356
1352
|
st39:
|
1357
1353
|
if ( ++p == pe )
|
1358
1354
|
goto _test_eof39;
|
1359
1355
|
case 39:
|
1360
|
-
#line
|
1356
|
+
#line 1357 "hpricot_scan.c"
|
1361
1357
|
switch( (*p) ) {
|
1362
1358
|
case 32: goto st39;
|
1363
1359
|
case 39: goto tr41;
|
@@ -1370,7 +1366,7 @@ case 39:
|
|
1370
1366
|
tr56:
|
1371
1367
|
#line 1 "hpricot_scan.rl"
|
1372
1368
|
{te = p+1;}
|
1373
|
-
#line
|
1369
|
+
#line 111 "hpricot_scan.rl"
|
1374
1370
|
{ mark_aval = p; }
|
1375
1371
|
#line 66 "hpricot_scan.rl"
|
1376
1372
|
{act = 8;}
|
@@ -1385,33 +1381,33 @@ st206:
|
|
1385
1381
|
if ( ++p == pe )
|
1386
1382
|
goto _test_eof206;
|
1387
1383
|
case 206:
|
1388
|
-
#line
|
1384
|
+
#line 1385 "hpricot_scan.c"
|
1389
1385
|
if ( (*p) == 39 )
|
1390
1386
|
goto tr41;
|
1391
1387
|
goto st29;
|
1392
1388
|
tr57:
|
1393
|
-
#line
|
1389
|
+
#line 111 "hpricot_scan.rl"
|
1394
1390
|
{ mark_aval = p; }
|
1395
1391
|
goto st40;
|
1396
1392
|
st40:
|
1397
1393
|
if ( ++p == pe )
|
1398
1394
|
goto _test_eof40;
|
1399
1395
|
case 40:
|
1400
|
-
#line
|
1396
|
+
#line 1397 "hpricot_scan.c"
|
1401
1397
|
switch( (*p) ) {
|
1402
1398
|
case 39: goto tr73;
|
1403
1399
|
case 93: goto st42;
|
1404
1400
|
}
|
1405
1401
|
goto st40;
|
1406
1402
|
tr73:
|
1407
|
-
#line
|
1403
|
+
#line 125 "hpricot_scan.rl"
|
1408
1404
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1409
1405
|
goto st41;
|
1410
1406
|
st41:
|
1411
1407
|
if ( ++p == pe )
|
1412
1408
|
goto _test_eof41;
|
1413
1409
|
case 41:
|
1414
|
-
#line
|
1410
|
+
#line 1411 "hpricot_scan.c"
|
1415
1411
|
switch( (*p) ) {
|
1416
1412
|
case 32: goto st41;
|
1417
1413
|
case 62: goto tr76;
|
@@ -1430,7 +1426,7 @@ st207:
|
|
1430
1426
|
if ( ++p == pe )
|
1431
1427
|
goto _test_eof207;
|
1432
1428
|
case 207:
|
1433
|
-
#line
|
1429
|
+
#line 1430 "hpricot_scan.c"
|
1434
1430
|
if ( (*p) == 93 )
|
1435
1431
|
goto st27;
|
1436
1432
|
goto st26;
|
@@ -1447,20 +1443,20 @@ case 42:
|
|
1447
1443
|
goto st42;
|
1448
1444
|
goto st29;
|
1449
1445
|
tr68:
|
1450
|
-
#line
|
1446
|
+
#line 111 "hpricot_scan.rl"
|
1451
1447
|
{ mark_aval = p; }
|
1452
|
-
#line
|
1448
|
+
#line 125 "hpricot_scan.rl"
|
1453
1449
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1454
1450
|
goto st43;
|
1455
1451
|
tr71:
|
1456
|
-
#line
|
1452
|
+
#line 125 "hpricot_scan.rl"
|
1457
1453
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1458
1454
|
goto st43;
|
1459
1455
|
st43:
|
1460
1456
|
if ( ++p == pe )
|
1461
1457
|
goto _test_eof43;
|
1462
1458
|
case 43:
|
1463
|
-
#line
|
1459
|
+
#line 1460 "hpricot_scan.c"
|
1464
1460
|
switch( (*p) ) {
|
1465
1461
|
case 32: goto st43;
|
1466
1462
|
case 34: goto tr41;
|
@@ -1480,7 +1476,7 @@ st208:
|
|
1480
1476
|
if ( ++p == pe )
|
1481
1477
|
goto _test_eof208;
|
1482
1478
|
case 208:
|
1483
|
-
#line
|
1479
|
+
#line 1480 "hpricot_scan.c"
|
1484
1480
|
if ( (*p) == 34 )
|
1485
1481
|
goto tr41;
|
1486
1482
|
goto st24;
|
@@ -1506,14 +1502,14 @@ case 45:
|
|
1506
1502
|
goto st45;
|
1507
1503
|
goto st24;
|
1508
1504
|
tr65:
|
1509
|
-
#line
|
1505
|
+
#line 125 "hpricot_scan.rl"
|
1510
1506
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1511
1507
|
goto st46;
|
1512
1508
|
st46:
|
1513
1509
|
if ( ++p == pe )
|
1514
1510
|
goto _test_eof46;
|
1515
1511
|
case 46:
|
1516
|
-
#line
|
1512
|
+
#line 1513 "hpricot_scan.c"
|
1517
1513
|
switch( (*p) ) {
|
1518
1514
|
case 32: goto tr81;
|
1519
1515
|
case 39: goto tr38;
|
@@ -1524,14 +1520,14 @@ case 46:
|
|
1524
1520
|
goto tr81;
|
1525
1521
|
goto tr44;
|
1526
1522
|
tr54:
|
1527
|
-
#line
|
1523
|
+
#line 111 "hpricot_scan.rl"
|
1528
1524
|
{ mark_aval = p; }
|
1529
1525
|
goto st47;
|
1530
1526
|
st47:
|
1531
1527
|
if ( ++p == pe )
|
1532
1528
|
goto _test_eof47;
|
1533
1529
|
case 47:
|
1534
|
-
#line
|
1530
|
+
#line 1531 "hpricot_scan.c"
|
1535
1531
|
switch( (*p) ) {
|
1536
1532
|
case 9: goto st47;
|
1537
1533
|
case 39: goto tr82;
|
@@ -1645,14 +1641,14 @@ case 59:
|
|
1645
1641
|
goto tr94;
|
1646
1642
|
goto tr0;
|
1647
1643
|
tr94:
|
1648
|
-
#line
|
1644
|
+
#line 110 "hpricot_scan.rl"
|
1649
1645
|
{ mark_tag = p; }
|
1650
1646
|
goto st60;
|
1651
1647
|
st60:
|
1652
1648
|
if ( ++p == pe )
|
1653
1649
|
goto _test_eof60;
|
1654
1650
|
case 60:
|
1655
|
-
#line
|
1651
|
+
#line 1652 "hpricot_scan.c"
|
1656
1652
|
switch( (*p) ) {
|
1657
1653
|
case 32: goto tr95;
|
1658
1654
|
case 62: goto tr97;
|
@@ -1675,14 +1671,14 @@ case 60:
|
|
1675
1671
|
goto st60;
|
1676
1672
|
goto tr0;
|
1677
1673
|
tr95:
|
1678
|
-
#line
|
1674
|
+
#line 113 "hpricot_scan.rl"
|
1679
1675
|
{ SET(tag, p); }
|
1680
1676
|
goto st61;
|
1681
1677
|
st61:
|
1682
1678
|
if ( ++p == pe )
|
1683
1679
|
goto _test_eof61;
|
1684
1680
|
case 61:
|
1685
|
-
#line
|
1681
|
+
#line 1682 "hpricot_scan.c"
|
1686
1682
|
switch( (*p) ) {
|
1687
1683
|
case 32: goto st61;
|
1688
1684
|
case 62: goto tr99;
|
@@ -1691,14 +1687,14 @@ case 61:
|
|
1691
1687
|
goto st61;
|
1692
1688
|
goto tr0;
|
1693
1689
|
tr417:
|
1694
|
-
#line
|
1690
|
+
#line 110 "hpricot_scan.rl"
|
1695
1691
|
{ mark_tag = p; }
|
1696
1692
|
goto st62;
|
1697
1693
|
st62:
|
1698
1694
|
if ( ++p == pe )
|
1699
1695
|
goto _test_eof62;
|
1700
1696
|
case 62:
|
1701
|
-
#line
|
1697
|
+
#line 1698 "hpricot_scan.c"
|
1702
1698
|
switch( (*p) ) {
|
1703
1699
|
case 32: goto tr100;
|
1704
1700
|
case 47: goto tr102;
|
@@ -1719,14 +1715,14 @@ case 62:
|
|
1719
1715
|
goto st62;
|
1720
1716
|
goto tr0;
|
1721
1717
|
tr100:
|
1722
|
-
#line
|
1718
|
+
#line 113 "hpricot_scan.rl"
|
1723
1719
|
{ SET(tag, p); }
|
1724
1720
|
goto st63;
|
1725
1721
|
st63:
|
1726
1722
|
if ( ++p == pe )
|
1727
1723
|
goto _test_eof63;
|
1728
1724
|
case 63:
|
1729
|
-
#line
|
1725
|
+
#line 1726 "hpricot_scan.c"
|
1730
1726
|
switch( (*p) ) {
|
1731
1727
|
case 32: goto st63;
|
1732
1728
|
case 47: goto st66;
|
@@ -1747,36 +1743,38 @@ case 63:
|
|
1747
1743
|
goto tr105;
|
1748
1744
|
goto tr0;
|
1749
1745
|
tr105:
|
1750
|
-
#line
|
1751
|
-
{
|
1746
|
+
#line 127 "hpricot_scan.rl"
|
1747
|
+
{
|
1752
1748
|
akey = Qnil;
|
1753
1749
|
aval = Qnil;
|
1754
1750
|
mark_akey = NULL;
|
1755
1751
|
mark_aval = NULL;
|
1756
1752
|
}
|
1757
|
-
#line
|
1753
|
+
#line 112 "hpricot_scan.rl"
|
1758
1754
|
{ mark_akey = p; }
|
1759
1755
|
goto st64;
|
1760
1756
|
tr114:
|
1761
|
-
#line
|
1762
|
-
{
|
1757
|
+
#line 134 "hpricot_scan.rl"
|
1758
|
+
{
|
1759
|
+
if (!S->xml)
|
1760
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
1763
1761
|
ATTR(akey, aval);
|
1764
1762
|
}
|
1765
|
-
#line
|
1766
|
-
{
|
1763
|
+
#line 127 "hpricot_scan.rl"
|
1764
|
+
{
|
1767
1765
|
akey = Qnil;
|
1768
1766
|
aval = Qnil;
|
1769
1767
|
mark_akey = NULL;
|
1770
1768
|
mark_aval = NULL;
|
1771
1769
|
}
|
1772
|
-
#line
|
1770
|
+
#line 112 "hpricot_scan.rl"
|
1773
1771
|
{ mark_akey = p; }
|
1774
1772
|
goto st64;
|
1775
1773
|
st64:
|
1776
1774
|
if ( ++p == pe )
|
1777
1775
|
goto _test_eof64;
|
1778
1776
|
case 64:
|
1779
|
-
#line
|
1777
|
+
#line 1778 "hpricot_scan.c"
|
1780
1778
|
switch( (*p) ) {
|
1781
1779
|
case 32: goto tr108;
|
1782
1780
|
case 47: goto tr110;
|
@@ -1798,21 +1796,21 @@ case 64:
|
|
1798
1796
|
goto st64;
|
1799
1797
|
goto tr39;
|
1800
1798
|
tr108:
|
1801
|
-
#line
|
1799
|
+
#line 120 "hpricot_scan.rl"
|
1802
1800
|
{ SET(akey, p); }
|
1803
1801
|
goto st65;
|
1804
1802
|
tr140:
|
1805
|
-
#line
|
1806
|
-
{
|
1803
|
+
#line 116 "hpricot_scan.rl"
|
1804
|
+
{
|
1807
1805
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1808
1806
|
else { SET(aval, p); }
|
1809
1807
|
}
|
1810
1808
|
goto st65;
|
1811
1809
|
tr134:
|
1812
|
-
#line
|
1810
|
+
#line 120 "hpricot_scan.rl"
|
1813
1811
|
{ SET(akey, p); }
|
1814
|
-
#line
|
1815
|
-
{
|
1812
|
+
#line 116 "hpricot_scan.rl"
|
1813
|
+
{
|
1816
1814
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1817
1815
|
else { SET(aval, p); }
|
1818
1816
|
}
|
@@ -1821,7 +1819,7 @@ st65:
|
|
1821
1819
|
if ( ++p == pe )
|
1822
1820
|
goto _test_eof65;
|
1823
1821
|
case 65:
|
1824
|
-
#line
|
1822
|
+
#line 1823 "hpricot_scan.c"
|
1825
1823
|
switch( (*p) ) {
|
1826
1824
|
case 32: goto st65;
|
1827
1825
|
case 47: goto tr115;
|
@@ -1843,20 +1841,24 @@ case 65:
|
|
1843
1841
|
goto tr114;
|
1844
1842
|
goto tr39;
|
1845
1843
|
tr102:
|
1846
|
-
#line
|
1844
|
+
#line 113 "hpricot_scan.rl"
|
1847
1845
|
{ SET(tag, p); }
|
1848
1846
|
goto st66;
|
1849
1847
|
tr110:
|
1850
|
-
#line
|
1848
|
+
#line 120 "hpricot_scan.rl"
|
1851
1849
|
{ SET(akey, p); }
|
1852
|
-
#line
|
1853
|
-
{
|
1850
|
+
#line 134 "hpricot_scan.rl"
|
1851
|
+
{
|
1852
|
+
if (!S->xml)
|
1853
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
1854
1854
|
ATTR(akey, aval);
|
1855
1855
|
}
|
1856
1856
|
goto st66;
|
1857
1857
|
tr115:
|
1858
|
-
#line
|
1859
|
-
{
|
1858
|
+
#line 134 "hpricot_scan.rl"
|
1859
|
+
{
|
1860
|
+
if (!S->xml)
|
1861
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
1860
1862
|
ATTR(akey, aval);
|
1861
1863
|
}
|
1862
1864
|
goto st66;
|
@@ -1864,19 +1866,19 @@ st66:
|
|
1864
1866
|
if ( ++p == pe )
|
1865
1867
|
goto _test_eof66;
|
1866
1868
|
case 66:
|
1867
|
-
#line
|
1869
|
+
#line 1870 "hpricot_scan.c"
|
1868
1870
|
if ( (*p) == 62 )
|
1869
1871
|
goto tr118;
|
1870
1872
|
goto tr39;
|
1871
1873
|
tr111:
|
1872
|
-
#line
|
1874
|
+
#line 120 "hpricot_scan.rl"
|
1873
1875
|
{ SET(akey, p); }
|
1874
1876
|
goto st67;
|
1875
1877
|
st67:
|
1876
1878
|
if ( ++p == pe )
|
1877
1879
|
goto _test_eof67;
|
1878
1880
|
case 67:
|
1879
|
-
#line
|
1881
|
+
#line 1882 "hpricot_scan.c"
|
1880
1882
|
switch( (*p) ) {
|
1881
1883
|
case 13: goto tr120;
|
1882
1884
|
case 32: goto tr120;
|
@@ -1893,14 +1895,14 @@ case 67:
|
|
1893
1895
|
goto tr120;
|
1894
1896
|
goto tr119;
|
1895
1897
|
tr119:
|
1896
|
-
#line
|
1898
|
+
#line 111 "hpricot_scan.rl"
|
1897
1899
|
{ mark_aval = p; }
|
1898
1900
|
goto st68;
|
1899
1901
|
st68:
|
1900
1902
|
if ( ++p == pe )
|
1901
1903
|
goto _test_eof68;
|
1902
1904
|
case 68:
|
1903
|
-
#line
|
1905
|
+
#line 1906 "hpricot_scan.c"
|
1904
1906
|
switch( (*p) ) {
|
1905
1907
|
case 13: goto tr126;
|
1906
1908
|
case 32: goto tr126;
|
@@ -1915,27 +1917,27 @@ case 68:
|
|
1915
1917
|
goto tr126;
|
1916
1918
|
goto st68;
|
1917
1919
|
tr126:
|
1918
|
-
#line
|
1919
|
-
{
|
1920
|
+
#line 116 "hpricot_scan.rl"
|
1921
|
+
{
|
1920
1922
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1921
1923
|
else { SET(aval, p); }
|
1922
1924
|
}
|
1923
1925
|
goto st69;
|
1924
1926
|
tr331:
|
1925
|
-
#line
|
1927
|
+
#line 111 "hpricot_scan.rl"
|
1926
1928
|
{ mark_aval = p; }
|
1927
|
-
#line
|
1929
|
+
#line 115 "hpricot_scan.rl"
|
1928
1930
|
{ SET(aval, p); }
|
1929
1931
|
goto st69;
|
1930
1932
|
tr169:
|
1931
|
-
#line
|
1933
|
+
#line 115 "hpricot_scan.rl"
|
1932
1934
|
{ SET(aval, p); }
|
1933
1935
|
goto st69;
|
1934
1936
|
st69:
|
1935
1937
|
if ( ++p == pe )
|
1936
1938
|
goto _test_eof69;
|
1937
1939
|
case 69:
|
1938
|
-
#line
|
1940
|
+
#line 1941 "hpricot_scan.c"
|
1939
1941
|
switch( (*p) ) {
|
1940
1942
|
case 32: goto st69;
|
1941
1943
|
case 47: goto tr115;
|
@@ -1956,27 +1958,27 @@ case 69:
|
|
1956
1958
|
goto tr114;
|
1957
1959
|
goto tr39;
|
1958
1960
|
tr127:
|
1959
|
-
#line
|
1960
|
-
{
|
1961
|
+
#line 116 "hpricot_scan.rl"
|
1962
|
+
{
|
1961
1963
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1962
1964
|
else { SET(aval, p); }
|
1963
1965
|
}
|
1964
1966
|
goto st70;
|
1965
1967
|
tr155:
|
1966
|
-
#line
|
1968
|
+
#line 111 "hpricot_scan.rl"
|
1967
1969
|
{ mark_aval = p; }
|
1968
|
-
#line
|
1970
|
+
#line 115 "hpricot_scan.rl"
|
1969
1971
|
{ SET(aval, p); }
|
1970
1972
|
goto st70;
|
1971
1973
|
tr163:
|
1972
|
-
#line
|
1974
|
+
#line 115 "hpricot_scan.rl"
|
1973
1975
|
{ SET(aval, p); }
|
1974
1976
|
goto st70;
|
1975
1977
|
st70:
|
1976
1978
|
if ( ++p == pe )
|
1977
1979
|
goto _test_eof70;
|
1978
1980
|
case 70:
|
1979
|
-
#line
|
1981
|
+
#line 1982 "hpricot_scan.c"
|
1980
1982
|
switch( (*p) ) {
|
1981
1983
|
case 13: goto tr126;
|
1982
1984
|
case 32: goto tr126;
|
@@ -2002,42 +2004,46 @@ case 70:
|
|
2002
2004
|
goto tr131;
|
2003
2005
|
goto st68;
|
2004
2006
|
tr131:
|
2005
|
-
#line
|
2006
|
-
{
|
2007
|
+
#line 134 "hpricot_scan.rl"
|
2008
|
+
{
|
2009
|
+
if (!S->xml)
|
2010
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2007
2011
|
ATTR(akey, aval);
|
2008
2012
|
}
|
2009
|
-
#line
|
2010
|
-
{
|
2013
|
+
#line 127 "hpricot_scan.rl"
|
2014
|
+
{
|
2011
2015
|
akey = Qnil;
|
2012
2016
|
aval = Qnil;
|
2013
2017
|
mark_akey = NULL;
|
2014
2018
|
mark_aval = NULL;
|
2015
2019
|
}
|
2016
|
-
#line
|
2020
|
+
#line 112 "hpricot_scan.rl"
|
2017
2021
|
{ mark_akey = p; }
|
2018
2022
|
goto st71;
|
2019
2023
|
tr150:
|
2020
|
-
#line
|
2024
|
+
#line 111 "hpricot_scan.rl"
|
2021
2025
|
{ mark_aval = p; }
|
2022
|
-
#line
|
2023
|
-
{
|
2026
|
+
#line 134 "hpricot_scan.rl"
|
2027
|
+
{
|
2028
|
+
if (!S->xml)
|
2029
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2024
2030
|
ATTR(akey, aval);
|
2025
2031
|
}
|
2026
|
-
#line
|
2027
|
-
{
|
2032
|
+
#line 127 "hpricot_scan.rl"
|
2033
|
+
{
|
2028
2034
|
akey = Qnil;
|
2029
2035
|
aval = Qnil;
|
2030
2036
|
mark_akey = NULL;
|
2031
2037
|
mark_aval = NULL;
|
2032
2038
|
}
|
2033
|
-
#line
|
2039
|
+
#line 112 "hpricot_scan.rl"
|
2034
2040
|
{ mark_akey = p; }
|
2035
2041
|
goto st71;
|
2036
2042
|
st71:
|
2037
2043
|
if ( ++p == pe )
|
2038
2044
|
goto _test_eof71;
|
2039
2045
|
case 71:
|
2040
|
-
#line
|
2046
|
+
#line 2047 "hpricot_scan.c"
|
2041
2047
|
switch( (*p) ) {
|
2042
2048
|
case 13: goto tr134;
|
2043
2049
|
case 32: goto tr134;
|
@@ -2064,17 +2070,17 @@ case 71:
|
|
2064
2070
|
goto st71;
|
2065
2071
|
goto st68;
|
2066
2072
|
tr141:
|
2067
|
-
#line
|
2068
|
-
{
|
2073
|
+
#line 116 "hpricot_scan.rl"
|
2074
|
+
{
|
2069
2075
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2070
2076
|
else { SET(aval, p); }
|
2071
2077
|
}
|
2072
2078
|
goto st72;
|
2073
2079
|
tr135:
|
2074
|
-
#line
|
2080
|
+
#line 120 "hpricot_scan.rl"
|
2075
2081
|
{ SET(akey, p); }
|
2076
|
-
#line
|
2077
|
-
{
|
2082
|
+
#line 116 "hpricot_scan.rl"
|
2083
|
+
{
|
2078
2084
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2079
2085
|
else { SET(aval, p); }
|
2080
2086
|
}
|
@@ -2083,7 +2089,7 @@ st72:
|
|
2083
2089
|
if ( ++p == pe )
|
2084
2090
|
goto _test_eof72;
|
2085
2091
|
case 72:
|
2086
|
-
#line
|
2092
|
+
#line 2093 "hpricot_scan.c"
|
2087
2093
|
switch( (*p) ) {
|
2088
2094
|
case 13: goto tr140;
|
2089
2095
|
case 32: goto tr140;
|
@@ -2110,70 +2116,82 @@ case 72:
|
|
2110
2116
|
goto tr131;
|
2111
2117
|
goto st68;
|
2112
2118
|
tr124:
|
2113
|
-
#line
|
2119
|
+
#line 111 "hpricot_scan.rl"
|
2114
2120
|
{ mark_aval = p; }
|
2115
|
-
#line
|
2116
|
-
{
|
2121
|
+
#line 134 "hpricot_scan.rl"
|
2122
|
+
{
|
2123
|
+
if (!S->xml)
|
2124
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2117
2125
|
ATTR(akey, aval);
|
2118
2126
|
}
|
2119
2127
|
goto st73;
|
2120
2128
|
tr128:
|
2121
|
-
#line
|
2122
|
-
{
|
2129
|
+
#line 116 "hpricot_scan.rl"
|
2130
|
+
{
|
2123
2131
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2124
2132
|
else { SET(aval, p); }
|
2125
2133
|
}
|
2126
|
-
#line
|
2127
|
-
{
|
2134
|
+
#line 134 "hpricot_scan.rl"
|
2135
|
+
{
|
2136
|
+
if (!S->xml)
|
2137
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2128
2138
|
ATTR(akey, aval);
|
2129
2139
|
}
|
2130
2140
|
goto st73;
|
2131
2141
|
tr132:
|
2132
|
-
#line
|
2133
|
-
{
|
2142
|
+
#line 134 "hpricot_scan.rl"
|
2143
|
+
{
|
2144
|
+
if (!S->xml)
|
2145
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2134
2146
|
ATTR(akey, aval);
|
2135
2147
|
}
|
2136
|
-
#line
|
2137
|
-
{
|
2148
|
+
#line 116 "hpricot_scan.rl"
|
2149
|
+
{
|
2138
2150
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2139
2151
|
else { SET(aval, p); }
|
2140
2152
|
}
|
2141
2153
|
goto st73;
|
2142
2154
|
tr137:
|
2143
|
-
#line
|
2144
|
-
{
|
2155
|
+
#line 116 "hpricot_scan.rl"
|
2156
|
+
{
|
2145
2157
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2146
2158
|
else { SET(aval, p); }
|
2147
2159
|
}
|
2148
|
-
#line
|
2160
|
+
#line 120 "hpricot_scan.rl"
|
2149
2161
|
{ SET(akey, p); }
|
2150
|
-
#line
|
2151
|
-
{
|
2162
|
+
#line 134 "hpricot_scan.rl"
|
2163
|
+
{
|
2164
|
+
if (!S->xml)
|
2165
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2152
2166
|
ATTR(akey, aval);
|
2153
2167
|
}
|
2154
2168
|
goto st73;
|
2155
2169
|
tr147:
|
2156
|
-
#line
|
2170
|
+
#line 111 "hpricot_scan.rl"
|
2157
2171
|
{ mark_aval = p; }
|
2158
|
-
#line
|
2159
|
-
{
|
2172
|
+
#line 116 "hpricot_scan.rl"
|
2173
|
+
{
|
2160
2174
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2161
2175
|
else { SET(aval, p); }
|
2162
2176
|
}
|
2163
|
-
#line
|
2164
|
-
{
|
2177
|
+
#line 134 "hpricot_scan.rl"
|
2178
|
+
{
|
2179
|
+
if (!S->xml)
|
2180
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2165
2181
|
ATTR(akey, aval);
|
2166
2182
|
}
|
2167
2183
|
goto st73;
|
2168
2184
|
tr151:
|
2169
|
-
#line
|
2185
|
+
#line 111 "hpricot_scan.rl"
|
2170
2186
|
{ mark_aval = p; }
|
2171
|
-
#line
|
2172
|
-
{
|
2187
|
+
#line 134 "hpricot_scan.rl"
|
2188
|
+
{
|
2189
|
+
if (!S->xml)
|
2190
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2173
2191
|
ATTR(akey, aval);
|
2174
2192
|
}
|
2175
|
-
#line
|
2176
|
-
{
|
2193
|
+
#line 116 "hpricot_scan.rl"
|
2194
|
+
{
|
2177
2195
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2178
2196
|
else { SET(aval, p); }
|
2179
2197
|
}
|
@@ -2182,7 +2200,7 @@ st73:
|
|
2182
2200
|
if ( ++p == pe )
|
2183
2201
|
goto _test_eof73;
|
2184
2202
|
case 73:
|
2185
|
-
#line
|
2203
|
+
#line 2204 "hpricot_scan.c"
|
2186
2204
|
switch( (*p) ) {
|
2187
2205
|
case 13: goto tr126;
|
2188
2206
|
case 32: goto tr126;
|
@@ -2197,18 +2215,18 @@ case 73:
|
|
2197
2215
|
goto tr126;
|
2198
2216
|
goto st68;
|
2199
2217
|
tr121:
|
2200
|
-
#line
|
2218
|
+
#line 111 "hpricot_scan.rl"
|
2201
2219
|
{ mark_aval = p; }
|
2202
2220
|
goto st74;
|
2203
2221
|
tr138:
|
2204
|
-
#line
|
2222
|
+
#line 120 "hpricot_scan.rl"
|
2205
2223
|
{ SET(akey, p); }
|
2206
2224
|
goto st74;
|
2207
2225
|
st74:
|
2208
2226
|
if ( ++p == pe )
|
2209
2227
|
goto _test_eof74;
|
2210
2228
|
case 74:
|
2211
|
-
#line
|
2229
|
+
#line 2230 "hpricot_scan.c"
|
2212
2230
|
switch( (*p) ) {
|
2213
2231
|
case 13: goto tr143;
|
2214
2232
|
case 32: goto tr143;
|
@@ -2225,14 +2243,14 @@ case 74:
|
|
2225
2243
|
goto tr143;
|
2226
2244
|
goto tr119;
|
2227
2245
|
tr148:
|
2228
|
-
#line
|
2246
|
+
#line 111 "hpricot_scan.rl"
|
2229
2247
|
{ mark_aval = p; }
|
2230
2248
|
goto st75;
|
2231
2249
|
tr143:
|
2232
|
-
#line
|
2250
|
+
#line 111 "hpricot_scan.rl"
|
2233
2251
|
{ mark_aval = p; }
|
2234
|
-
#line
|
2235
|
-
{
|
2252
|
+
#line 116 "hpricot_scan.rl"
|
2253
|
+
{
|
2236
2254
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2237
2255
|
else { SET(aval, p); }
|
2238
2256
|
}
|
@@ -2241,7 +2259,7 @@ st75:
|
|
2241
2259
|
if ( ++p == pe )
|
2242
2260
|
goto _test_eof75;
|
2243
2261
|
case 75:
|
2244
|
-
#line
|
2262
|
+
#line 2263 "hpricot_scan.c"
|
2245
2263
|
switch( (*p) ) {
|
2246
2264
|
case 13: goto tr148;
|
2247
2265
|
case 32: goto tr148;
|
@@ -2269,14 +2287,14 @@ case 75:
|
|
2269
2287
|
goto tr150;
|
2270
2288
|
goto tr119;
|
2271
2289
|
tr149:
|
2272
|
-
#line
|
2290
|
+
#line 111 "hpricot_scan.rl"
|
2273
2291
|
{ mark_aval = p; }
|
2274
2292
|
goto st76;
|
2275
2293
|
tr144:
|
2276
|
-
#line
|
2294
|
+
#line 111 "hpricot_scan.rl"
|
2277
2295
|
{ mark_aval = p; }
|
2278
|
-
#line
|
2279
|
-
{
|
2296
|
+
#line 116 "hpricot_scan.rl"
|
2297
|
+
{
|
2280
2298
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2281
2299
|
else { SET(aval, p); }
|
2282
2300
|
}
|
@@ -2285,7 +2303,7 @@ st76:
|
|
2285
2303
|
if ( ++p == pe )
|
2286
2304
|
goto _test_eof76;
|
2287
2305
|
case 76:
|
2288
|
-
#line
|
2306
|
+
#line 2307 "hpricot_scan.c"
|
2289
2307
|
switch( (*p) ) {
|
2290
2308
|
case 13: goto tr143;
|
2291
2309
|
case 32: goto tr143;
|
@@ -2332,14 +2350,14 @@ case 77:
|
|
2332
2350
|
goto tr153;
|
2333
2351
|
goto tr152;
|
2334
2352
|
tr152:
|
2335
|
-
#line
|
2353
|
+
#line 111 "hpricot_scan.rl"
|
2336
2354
|
{ mark_aval = p; }
|
2337
2355
|
goto st78;
|
2338
2356
|
st78:
|
2339
2357
|
if ( ++p == pe )
|
2340
2358
|
goto _test_eof78;
|
2341
2359
|
case 78:
|
2342
|
-
#line
|
2360
|
+
#line 2361 "hpricot_scan.c"
|
2343
2361
|
switch( (*p) ) {
|
2344
2362
|
case 13: goto tr161;
|
2345
2363
|
case 32: goto tr161;
|
@@ -2356,40 +2374,40 @@ case 78:
|
|
2356
2374
|
goto tr161;
|
2357
2375
|
goto st78;
|
2358
2376
|
tr336:
|
2359
|
-
#line
|
2377
|
+
#line 111 "hpricot_scan.rl"
|
2360
2378
|
{ mark_aval = p; }
|
2361
2379
|
goto st79;
|
2362
2380
|
tr161:
|
2363
|
-
#line
|
2364
|
-
{
|
2381
|
+
#line 116 "hpricot_scan.rl"
|
2382
|
+
{
|
2365
2383
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2366
2384
|
else { SET(aval, p); }
|
2367
2385
|
}
|
2368
2386
|
goto st79;
|
2369
2387
|
tr153:
|
2370
|
-
#line
|
2388
|
+
#line 111 "hpricot_scan.rl"
|
2371
2389
|
{ mark_aval = p; }
|
2372
|
-
#line
|
2373
|
-
{
|
2390
|
+
#line 116 "hpricot_scan.rl"
|
2391
|
+
{
|
2374
2392
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2375
2393
|
else { SET(aval, p); }
|
2376
2394
|
}
|
2377
2395
|
goto st79;
|
2378
2396
|
tr317:
|
2379
|
-
#line
|
2397
|
+
#line 111 "hpricot_scan.rl"
|
2380
2398
|
{ mark_aval = p; }
|
2381
|
-
#line
|
2399
|
+
#line 115 "hpricot_scan.rl"
|
2382
2400
|
{ SET(aval, p); }
|
2383
2401
|
goto st79;
|
2384
2402
|
tr174:
|
2385
|
-
#line
|
2403
|
+
#line 115 "hpricot_scan.rl"
|
2386
2404
|
{ SET(aval, p); }
|
2387
2405
|
goto st79;
|
2388
2406
|
st79:
|
2389
2407
|
if ( ++p == pe )
|
2390
2408
|
goto _test_eof79;
|
2391
2409
|
case 79:
|
2392
|
-
#line
|
2410
|
+
#line 2411 "hpricot_scan.c"
|
2393
2411
|
switch( (*p) ) {
|
2394
2412
|
case 32: goto st79;
|
2395
2413
|
case 34: goto tr169;
|
@@ -2412,70 +2430,74 @@ case 79:
|
|
2412
2430
|
goto tr170;
|
2413
2431
|
goto st80;
|
2414
2432
|
tr157:
|
2415
|
-
#line
|
2433
|
+
#line 111 "hpricot_scan.rl"
|
2416
2434
|
{ mark_aval = p; }
|
2417
2435
|
goto st80;
|
2418
2436
|
st80:
|
2419
2437
|
if ( ++p == pe )
|
2420
2438
|
goto _test_eof80;
|
2421
2439
|
case 80:
|
2422
|
-
#line
|
2440
|
+
#line 2441 "hpricot_scan.c"
|
2423
2441
|
switch( (*p) ) {
|
2424
2442
|
case 34: goto tr169;
|
2425
2443
|
case 92: goto st81;
|
2426
2444
|
}
|
2427
2445
|
goto st80;
|
2428
2446
|
tr340:
|
2429
|
-
#line
|
2447
|
+
#line 111 "hpricot_scan.rl"
|
2430
2448
|
{ mark_aval = p; }
|
2431
2449
|
goto st81;
|
2432
2450
|
st81:
|
2433
2451
|
if ( ++p == pe )
|
2434
2452
|
goto _test_eof81;
|
2435
2453
|
case 81:
|
2436
|
-
#line
|
2454
|
+
#line 2455 "hpricot_scan.c"
|
2437
2455
|
switch( (*p) ) {
|
2438
2456
|
case 34: goto tr174;
|
2439
2457
|
case 92: goto st81;
|
2440
2458
|
}
|
2441
2459
|
goto st80;
|
2442
2460
|
tr170:
|
2443
|
-
#line
|
2444
|
-
{
|
2461
|
+
#line 134 "hpricot_scan.rl"
|
2462
|
+
{
|
2463
|
+
if (!S->xml)
|
2464
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2445
2465
|
ATTR(akey, aval);
|
2446
2466
|
}
|
2447
|
-
#line
|
2448
|
-
{
|
2467
|
+
#line 127 "hpricot_scan.rl"
|
2468
|
+
{
|
2449
2469
|
akey = Qnil;
|
2450
2470
|
aval = Qnil;
|
2451
2471
|
mark_akey = NULL;
|
2452
2472
|
mark_aval = NULL;
|
2453
2473
|
}
|
2454
|
-
#line
|
2474
|
+
#line 112 "hpricot_scan.rl"
|
2455
2475
|
{ mark_akey = p; }
|
2456
2476
|
goto st82;
|
2457
2477
|
tr337:
|
2458
|
-
#line
|
2478
|
+
#line 111 "hpricot_scan.rl"
|
2459
2479
|
{ mark_aval = p; }
|
2460
|
-
#line
|
2461
|
-
{
|
2480
|
+
#line 134 "hpricot_scan.rl"
|
2481
|
+
{
|
2482
|
+
if (!S->xml)
|
2483
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2462
2484
|
ATTR(akey, aval);
|
2463
2485
|
}
|
2464
|
-
#line
|
2465
|
-
{
|
2486
|
+
#line 127 "hpricot_scan.rl"
|
2487
|
+
{
|
2466
2488
|
akey = Qnil;
|
2467
2489
|
aval = Qnil;
|
2468
2490
|
mark_akey = NULL;
|
2469
2491
|
mark_aval = NULL;
|
2470
2492
|
}
|
2471
|
-
#line
|
2493
|
+
#line 112 "hpricot_scan.rl"
|
2472
2494
|
{ mark_akey = p; }
|
2473
2495
|
goto st82;
|
2474
2496
|
st82:
|
2475
2497
|
if ( ++p == pe )
|
2476
2498
|
goto _test_eof82;
|
2477
2499
|
case 82:
|
2478
|
-
#line
|
2500
|
+
#line 2501 "hpricot_scan.c"
|
2479
2501
|
switch( (*p) ) {
|
2480
2502
|
case 32: goto tr175;
|
2481
2503
|
case 34: goto tr169;
|
@@ -2499,21 +2521,21 @@ case 82:
|
|
2499
2521
|
goto st82;
|
2500
2522
|
goto st80;
|
2501
2523
|
tr175:
|
2502
|
-
#line
|
2524
|
+
#line 120 "hpricot_scan.rl"
|
2503
2525
|
{ SET(akey, p); }
|
2504
2526
|
goto st83;
|
2505
2527
|
tr206:
|
2506
|
-
#line
|
2507
|
-
{
|
2528
|
+
#line 116 "hpricot_scan.rl"
|
2529
|
+
{
|
2508
2530
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2509
2531
|
else { SET(aval, p); }
|
2510
2532
|
}
|
2511
2533
|
goto st83;
|
2512
2534
|
tr200:
|
2513
|
-
#line
|
2535
|
+
#line 120 "hpricot_scan.rl"
|
2514
2536
|
{ SET(akey, p); }
|
2515
|
-
#line
|
2516
|
-
{
|
2537
|
+
#line 116 "hpricot_scan.rl"
|
2538
|
+
{
|
2517
2539
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2518
2540
|
else { SET(aval, p); }
|
2519
2541
|
}
|
@@ -2522,7 +2544,7 @@ st83:
|
|
2522
2544
|
if ( ++p == pe )
|
2523
2545
|
goto _test_eof83;
|
2524
2546
|
case 83:
|
2525
|
-
#line
|
2547
|
+
#line 2548 "hpricot_scan.c"
|
2526
2548
|
switch( (*p) ) {
|
2527
2549
|
case 32: goto st83;
|
2528
2550
|
case 34: goto tr169;
|
@@ -2546,24 +2568,30 @@ case 83:
|
|
2546
2568
|
goto tr170;
|
2547
2569
|
goto st80;
|
2548
2570
|
tr177:
|
2549
|
-
#line
|
2571
|
+
#line 120 "hpricot_scan.rl"
|
2550
2572
|
{ SET(akey, p); }
|
2551
|
-
#line
|
2552
|
-
{
|
2573
|
+
#line 134 "hpricot_scan.rl"
|
2574
|
+
{
|
2575
|
+
if (!S->xml)
|
2576
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2553
2577
|
ATTR(akey, aval);
|
2554
2578
|
}
|
2555
2579
|
goto st84;
|
2556
2580
|
tr171:
|
2557
|
-
#line
|
2558
|
-
{
|
2581
|
+
#line 134 "hpricot_scan.rl"
|
2582
|
+
{
|
2583
|
+
if (!S->xml)
|
2584
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2559
2585
|
ATTR(akey, aval);
|
2560
2586
|
}
|
2561
2587
|
goto st84;
|
2562
2588
|
tr338:
|
2563
|
-
#line
|
2589
|
+
#line 111 "hpricot_scan.rl"
|
2564
2590
|
{ mark_aval = p; }
|
2565
|
-
#line
|
2566
|
-
{
|
2591
|
+
#line 134 "hpricot_scan.rl"
|
2592
|
+
{
|
2593
|
+
if (!S->xml)
|
2594
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2567
2595
|
ATTR(akey, aval);
|
2568
2596
|
}
|
2569
2597
|
goto st84;
|
@@ -2571,7 +2599,7 @@ st84:
|
|
2571
2599
|
if ( ++p == pe )
|
2572
2600
|
goto _test_eof84;
|
2573
2601
|
case 84:
|
2574
|
-
#line
|
2602
|
+
#line 2603 "hpricot_scan.c"
|
2575
2603
|
switch( (*p) ) {
|
2576
2604
|
case 34: goto tr169;
|
2577
2605
|
case 62: goto tr182;
|
@@ -2581,15 +2609,17 @@ case 84:
|
|
2581
2609
|
tr158:
|
2582
2610
|
#line 1 "hpricot_scan.rl"
|
2583
2611
|
{te = p+1;}
|
2584
|
-
#line
|
2612
|
+
#line 111 "hpricot_scan.rl"
|
2585
2613
|
{ mark_aval = p; }
|
2586
|
-
#line
|
2587
|
-
{
|
2614
|
+
#line 116 "hpricot_scan.rl"
|
2615
|
+
{
|
2588
2616
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2589
2617
|
else { SET(aval, p); }
|
2590
2618
|
}
|
2591
|
-
#line
|
2592
|
-
{
|
2619
|
+
#line 134 "hpricot_scan.rl"
|
2620
|
+
{
|
2621
|
+
if (!S->xml)
|
2622
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2593
2623
|
ATTR(akey, aval);
|
2594
2624
|
}
|
2595
2625
|
#line 68 "hpricot_scan.rl"
|
@@ -2598,13 +2628,15 @@ tr158:
|
|
2598
2628
|
tr166:
|
2599
2629
|
#line 1 "hpricot_scan.rl"
|
2600
2630
|
{te = p+1;}
|
2601
|
-
#line
|
2602
|
-
{
|
2631
|
+
#line 116 "hpricot_scan.rl"
|
2632
|
+
{
|
2603
2633
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2604
2634
|
else { SET(aval, p); }
|
2605
2635
|
}
|
2606
|
-
#line
|
2607
|
-
{
|
2636
|
+
#line 134 "hpricot_scan.rl"
|
2637
|
+
{
|
2638
|
+
if (!S->xml)
|
2639
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2608
2640
|
ATTR(akey, aval);
|
2609
2641
|
}
|
2610
2642
|
#line 68 "hpricot_scan.rl"
|
@@ -2613,8 +2645,10 @@ tr166:
|
|
2613
2645
|
tr172:
|
2614
2646
|
#line 1 "hpricot_scan.rl"
|
2615
2647
|
{te = p+1;}
|
2616
|
-
#line
|
2617
|
-
{
|
2648
|
+
#line 134 "hpricot_scan.rl"
|
2649
|
+
{
|
2650
|
+
if (!S->xml)
|
2651
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2618
2652
|
ATTR(akey, aval);
|
2619
2653
|
}
|
2620
2654
|
#line 68 "hpricot_scan.rl"
|
@@ -2623,10 +2657,12 @@ tr172:
|
|
2623
2657
|
tr179:
|
2624
2658
|
#line 1 "hpricot_scan.rl"
|
2625
2659
|
{te = p+1;}
|
2626
|
-
#line
|
2660
|
+
#line 120 "hpricot_scan.rl"
|
2627
2661
|
{ SET(akey, p); }
|
2628
|
-
#line
|
2629
|
-
{
|
2662
|
+
#line 134 "hpricot_scan.rl"
|
2663
|
+
{
|
2664
|
+
if (!S->xml)
|
2665
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2630
2666
|
ATTR(akey, aval);
|
2631
2667
|
}
|
2632
2668
|
#line 68 "hpricot_scan.rl"
|
@@ -2641,12 +2677,14 @@ tr182:
|
|
2641
2677
|
tr196:
|
2642
2678
|
#line 1 "hpricot_scan.rl"
|
2643
2679
|
{te = p+1;}
|
2644
|
-
#line
|
2645
|
-
{
|
2680
|
+
#line 134 "hpricot_scan.rl"
|
2681
|
+
{
|
2682
|
+
if (!S->xml)
|
2683
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2646
2684
|
ATTR(akey, aval);
|
2647
2685
|
}
|
2648
|
-
#line
|
2649
|
-
{
|
2686
|
+
#line 116 "hpricot_scan.rl"
|
2687
|
+
{
|
2650
2688
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2651
2689
|
else { SET(aval, p); }
|
2652
2690
|
}
|
@@ -2656,14 +2694,16 @@ tr196:
|
|
2656
2694
|
tr197:
|
2657
2695
|
#line 1 "hpricot_scan.rl"
|
2658
2696
|
{te = p+1;}
|
2659
|
-
#line
|
2697
|
+
#line 111 "hpricot_scan.rl"
|
2660
2698
|
{ mark_aval = p; }
|
2661
|
-
#line
|
2662
|
-
{
|
2699
|
+
#line 134 "hpricot_scan.rl"
|
2700
|
+
{
|
2701
|
+
if (!S->xml)
|
2702
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2663
2703
|
ATTR(akey, aval);
|
2664
2704
|
}
|
2665
|
-
#line
|
2666
|
-
{
|
2705
|
+
#line 116 "hpricot_scan.rl"
|
2706
|
+
{
|
2667
2707
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2668
2708
|
else { SET(aval, p); }
|
2669
2709
|
}
|
@@ -2673,15 +2713,17 @@ tr197:
|
|
2673
2713
|
tr205:
|
2674
2714
|
#line 1 "hpricot_scan.rl"
|
2675
2715
|
{te = p+1;}
|
2676
|
-
#line
|
2677
|
-
{
|
2716
|
+
#line 116 "hpricot_scan.rl"
|
2717
|
+
{
|
2678
2718
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2679
2719
|
else { SET(aval, p); }
|
2680
2720
|
}
|
2681
|
-
#line
|
2721
|
+
#line 120 "hpricot_scan.rl"
|
2682
2722
|
{ SET(akey, p); }
|
2683
|
-
#line
|
2684
|
-
{
|
2723
|
+
#line 134 "hpricot_scan.rl"
|
2724
|
+
{
|
2725
|
+
if (!S->xml)
|
2726
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2685
2727
|
ATTR(akey, aval);
|
2686
2728
|
}
|
2687
2729
|
#line 68 "hpricot_scan.rl"
|
@@ -2690,10 +2732,12 @@ tr205:
|
|
2690
2732
|
tr339:
|
2691
2733
|
#line 1 "hpricot_scan.rl"
|
2692
2734
|
{te = p+1;}
|
2693
|
-
#line
|
2735
|
+
#line 111 "hpricot_scan.rl"
|
2694
2736
|
{ mark_aval = p; }
|
2695
|
-
#line
|
2696
|
-
{
|
2737
|
+
#line 134 "hpricot_scan.rl"
|
2738
|
+
{
|
2739
|
+
if (!S->xml)
|
2740
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2697
2741
|
ATTR(akey, aval);
|
2698
2742
|
}
|
2699
2743
|
#line 68 "hpricot_scan.rl"
|
@@ -2703,21 +2747,21 @@ st209:
|
|
2703
2747
|
if ( ++p == pe )
|
2704
2748
|
goto _test_eof209;
|
2705
2749
|
case 209:
|
2706
|
-
#line
|
2750
|
+
#line 2751 "hpricot_scan.c"
|
2707
2751
|
switch( (*p) ) {
|
2708
2752
|
case 34: goto tr169;
|
2709
2753
|
case 92: goto st81;
|
2710
2754
|
}
|
2711
2755
|
goto st80;
|
2712
2756
|
tr178:
|
2713
|
-
#line
|
2757
|
+
#line 120 "hpricot_scan.rl"
|
2714
2758
|
{ SET(akey, p); }
|
2715
2759
|
goto st85;
|
2716
2760
|
st85:
|
2717
2761
|
if ( ++p == pe )
|
2718
2762
|
goto _test_eof85;
|
2719
2763
|
case 85:
|
2720
|
-
#line
|
2764
|
+
#line 2765 "hpricot_scan.c"
|
2721
2765
|
switch( (*p) ) {
|
2722
2766
|
case 13: goto tr183;
|
2723
2767
|
case 32: goto tr183;
|
@@ -2735,14 +2779,14 @@ case 85:
|
|
2735
2779
|
goto tr183;
|
2736
2780
|
goto tr152;
|
2737
2781
|
tr183:
|
2738
|
-
#line
|
2782
|
+
#line 111 "hpricot_scan.rl"
|
2739
2783
|
{ mark_aval = p; }
|
2740
2784
|
goto st86;
|
2741
2785
|
st86:
|
2742
2786
|
if ( ++p == pe )
|
2743
2787
|
goto _test_eof86;
|
2744
2788
|
case 86:
|
2745
|
-
#line
|
2789
|
+
#line 2790 "hpricot_scan.c"
|
2746
2790
|
switch( (*p) ) {
|
2747
2791
|
case 13: goto tr188;
|
2748
2792
|
case 32: goto tr188;
|
@@ -2760,14 +2804,14 @@ case 86:
|
|
2760
2804
|
goto tr188;
|
2761
2805
|
goto tr152;
|
2762
2806
|
tr188:
|
2763
|
-
#line
|
2807
|
+
#line 111 "hpricot_scan.rl"
|
2764
2808
|
{ mark_aval = p; }
|
2765
2809
|
goto st87;
|
2766
2810
|
tr191:
|
2767
|
-
#line
|
2811
|
+
#line 111 "hpricot_scan.rl"
|
2768
2812
|
{ mark_aval = p; }
|
2769
|
-
#line
|
2770
|
-
{
|
2813
|
+
#line 116 "hpricot_scan.rl"
|
2814
|
+
{
|
2771
2815
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2772
2816
|
else { SET(aval, p); }
|
2773
2817
|
}
|
@@ -2776,7 +2820,7 @@ st87:
|
|
2776
2820
|
if ( ++p == pe )
|
2777
2821
|
goto _test_eof87;
|
2778
2822
|
case 87:
|
2779
|
-
#line
|
2823
|
+
#line 2824 "hpricot_scan.c"
|
2780
2824
|
switch( (*p) ) {
|
2781
2825
|
case 13: goto tr188;
|
2782
2826
|
case 32: goto tr188;
|
@@ -2805,14 +2849,14 @@ case 87:
|
|
2805
2849
|
goto tr190;
|
2806
2850
|
goto tr152;
|
2807
2851
|
tr189:
|
2808
|
-
#line
|
2852
|
+
#line 111 "hpricot_scan.rl"
|
2809
2853
|
{ mark_aval = p; }
|
2810
2854
|
goto st88;
|
2811
2855
|
tr192:
|
2812
|
-
#line
|
2856
|
+
#line 111 "hpricot_scan.rl"
|
2813
2857
|
{ mark_aval = p; }
|
2814
|
-
#line
|
2815
|
-
{
|
2858
|
+
#line 116 "hpricot_scan.rl"
|
2859
|
+
{
|
2816
2860
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2817
2861
|
else { SET(aval, p); }
|
2818
2862
|
}
|
@@ -2821,7 +2865,7 @@ st88:
|
|
2821
2865
|
if ( ++p == pe )
|
2822
2866
|
goto _test_eof88;
|
2823
2867
|
case 88:
|
2824
|
-
#line
|
2868
|
+
#line 2869 "hpricot_scan.c"
|
2825
2869
|
switch( (*p) ) {
|
2826
2870
|
case 13: goto tr191;
|
2827
2871
|
case 32: goto tr191;
|
@@ -2850,14 +2894,14 @@ case 88:
|
|
2850
2894
|
goto tr190;
|
2851
2895
|
goto tr152;
|
2852
2896
|
tr193:
|
2853
|
-
#line
|
2897
|
+
#line 115 "hpricot_scan.rl"
|
2854
2898
|
{ SET(aval, p); }
|
2855
2899
|
goto st89;
|
2856
2900
|
st89:
|
2857
2901
|
if ( ++p == pe )
|
2858
2902
|
goto _test_eof89;
|
2859
2903
|
case 89:
|
2860
|
-
#line
|
2904
|
+
#line 2905 "hpricot_scan.c"
|
2861
2905
|
switch( (*p) ) {
|
2862
2906
|
case 13: goto tr153;
|
2863
2907
|
case 32: goto tr153;
|
@@ -2885,36 +2929,36 @@ case 89:
|
|
2885
2929
|
goto tr190;
|
2886
2930
|
goto tr152;
|
2887
2931
|
tr162:
|
2888
|
-
#line
|
2889
|
-
{
|
2932
|
+
#line 116 "hpricot_scan.rl"
|
2933
|
+
{
|
2890
2934
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2891
2935
|
else { SET(aval, p); }
|
2892
2936
|
}
|
2893
2937
|
goto st90;
|
2894
2938
|
tr154:
|
2895
|
-
#line
|
2939
|
+
#line 111 "hpricot_scan.rl"
|
2896
2940
|
{ mark_aval = p; }
|
2897
|
-
#line
|
2898
|
-
{
|
2941
|
+
#line 116 "hpricot_scan.rl"
|
2942
|
+
{
|
2899
2943
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2900
2944
|
else { SET(aval, p); }
|
2901
2945
|
}
|
2902
2946
|
goto st90;
|
2903
2947
|
tr214:
|
2904
|
-
#line
|
2948
|
+
#line 111 "hpricot_scan.rl"
|
2905
2949
|
{ mark_aval = p; }
|
2906
|
-
#line
|
2950
|
+
#line 115 "hpricot_scan.rl"
|
2907
2951
|
{ SET(aval, p); }
|
2908
2952
|
goto st90;
|
2909
2953
|
tr209:
|
2910
|
-
#line
|
2954
|
+
#line 115 "hpricot_scan.rl"
|
2911
2955
|
{ SET(aval, p); }
|
2912
2956
|
goto st90;
|
2913
2957
|
st90:
|
2914
2958
|
if ( ++p == pe )
|
2915
2959
|
goto _test_eof90;
|
2916
2960
|
case 90:
|
2917
|
-
#line
|
2961
|
+
#line 2962 "hpricot_scan.c"
|
2918
2962
|
switch( (*p) ) {
|
2919
2963
|
case 13: goto tr161;
|
2920
2964
|
case 32: goto tr161;
|
@@ -2942,42 +2986,46 @@ case 90:
|
|
2942
2986
|
goto tr198;
|
2943
2987
|
goto st78;
|
2944
2988
|
tr198:
|
2945
|
-
#line
|
2946
|
-
{
|
2989
|
+
#line 134 "hpricot_scan.rl"
|
2990
|
+
{
|
2991
|
+
if (!S->xml)
|
2992
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2947
2993
|
ATTR(akey, aval);
|
2948
2994
|
}
|
2949
|
-
#line
|
2950
|
-
{
|
2995
|
+
#line 127 "hpricot_scan.rl"
|
2996
|
+
{
|
2951
2997
|
akey = Qnil;
|
2952
2998
|
aval = Qnil;
|
2953
2999
|
mark_akey = NULL;
|
2954
3000
|
mark_aval = NULL;
|
2955
3001
|
}
|
2956
|
-
#line
|
3002
|
+
#line 112 "hpricot_scan.rl"
|
2957
3003
|
{ mark_akey = p; }
|
2958
3004
|
goto st91;
|
2959
3005
|
tr190:
|
2960
|
-
#line
|
3006
|
+
#line 111 "hpricot_scan.rl"
|
2961
3007
|
{ mark_aval = p; }
|
2962
|
-
#line
|
2963
|
-
{
|
3008
|
+
#line 134 "hpricot_scan.rl"
|
3009
|
+
{
|
3010
|
+
if (!S->xml)
|
3011
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
2964
3012
|
ATTR(akey, aval);
|
2965
3013
|
}
|
2966
|
-
#line
|
2967
|
-
{
|
3014
|
+
#line 127 "hpricot_scan.rl"
|
3015
|
+
{
|
2968
3016
|
akey = Qnil;
|
2969
3017
|
aval = Qnil;
|
2970
3018
|
mark_akey = NULL;
|
2971
3019
|
mark_aval = NULL;
|
2972
3020
|
}
|
2973
|
-
#line
|
3021
|
+
#line 112 "hpricot_scan.rl"
|
2974
3022
|
{ mark_akey = p; }
|
2975
3023
|
goto st91;
|
2976
3024
|
st91:
|
2977
3025
|
if ( ++p == pe )
|
2978
3026
|
goto _test_eof91;
|
2979
3027
|
case 91:
|
2980
|
-
#line
|
3028
|
+
#line 3029 "hpricot_scan.c"
|
2981
3029
|
switch( (*p) ) {
|
2982
3030
|
case 13: goto tr200;
|
2983
3031
|
case 32: goto tr200;
|
@@ -3006,17 +3054,17 @@ case 91:
|
|
3006
3054
|
goto st91;
|
3007
3055
|
goto st78;
|
3008
3056
|
tr207:
|
3009
|
-
#line
|
3010
|
-
{
|
3057
|
+
#line 116 "hpricot_scan.rl"
|
3058
|
+
{
|
3011
3059
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3012
3060
|
else { SET(aval, p); }
|
3013
3061
|
}
|
3014
3062
|
goto st92;
|
3015
3063
|
tr201:
|
3016
|
-
#line
|
3064
|
+
#line 120 "hpricot_scan.rl"
|
3017
3065
|
{ SET(akey, p); }
|
3018
|
-
#line
|
3019
|
-
{
|
3066
|
+
#line 116 "hpricot_scan.rl"
|
3067
|
+
{
|
3020
3068
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3021
3069
|
else { SET(aval, p); }
|
3022
3070
|
}
|
@@ -3025,7 +3073,7 @@ st92:
|
|
3025
3073
|
if ( ++p == pe )
|
3026
3074
|
goto _test_eof92;
|
3027
3075
|
case 92:
|
3028
|
-
#line
|
3076
|
+
#line 3077 "hpricot_scan.c"
|
3029
3077
|
switch( (*p) ) {
|
3030
3078
|
case 13: goto tr206;
|
3031
3079
|
case 32: goto tr206;
|
@@ -3054,70 +3102,82 @@ case 92:
|
|
3054
3102
|
goto tr198;
|
3055
3103
|
goto st78;
|
3056
3104
|
tr187:
|
3057
|
-
#line
|
3105
|
+
#line 111 "hpricot_scan.rl"
|
3058
3106
|
{ mark_aval = p; }
|
3059
|
-
#line
|
3060
|
-
{
|
3107
|
+
#line 134 "hpricot_scan.rl"
|
3108
|
+
{
|
3109
|
+
if (!S->xml)
|
3110
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3061
3111
|
ATTR(akey, aval);
|
3062
3112
|
}
|
3063
3113
|
goto st93;
|
3064
3114
|
tr164:
|
3065
|
-
#line
|
3066
|
-
{
|
3115
|
+
#line 116 "hpricot_scan.rl"
|
3116
|
+
{
|
3067
3117
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3068
3118
|
else { SET(aval, p); }
|
3069
3119
|
}
|
3070
|
-
#line
|
3071
|
-
{
|
3120
|
+
#line 134 "hpricot_scan.rl"
|
3121
|
+
{
|
3122
|
+
if (!S->xml)
|
3123
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3072
3124
|
ATTR(akey, aval);
|
3073
3125
|
}
|
3074
3126
|
goto st93;
|
3075
3127
|
tr199:
|
3076
|
-
#line
|
3077
|
-
{
|
3128
|
+
#line 134 "hpricot_scan.rl"
|
3129
|
+
{
|
3130
|
+
if (!S->xml)
|
3131
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3078
3132
|
ATTR(akey, aval);
|
3079
3133
|
}
|
3080
|
-
#line
|
3081
|
-
{
|
3134
|
+
#line 116 "hpricot_scan.rl"
|
3135
|
+
{
|
3082
3136
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3083
3137
|
else { SET(aval, p); }
|
3084
3138
|
}
|
3085
3139
|
goto st93;
|
3086
3140
|
tr203:
|
3087
|
-
#line
|
3088
|
-
{
|
3141
|
+
#line 116 "hpricot_scan.rl"
|
3142
|
+
{
|
3089
3143
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3090
3144
|
else { SET(aval, p); }
|
3091
3145
|
}
|
3092
|
-
#line
|
3146
|
+
#line 120 "hpricot_scan.rl"
|
3093
3147
|
{ SET(akey, p); }
|
3094
|
-
#line
|
3095
|
-
{
|
3148
|
+
#line 134 "hpricot_scan.rl"
|
3149
|
+
{
|
3150
|
+
if (!S->xml)
|
3151
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3096
3152
|
ATTR(akey, aval);
|
3097
3153
|
}
|
3098
3154
|
goto st93;
|
3099
3155
|
tr156:
|
3100
|
-
#line
|
3156
|
+
#line 111 "hpricot_scan.rl"
|
3101
3157
|
{ mark_aval = p; }
|
3102
|
-
#line
|
3103
|
-
{
|
3158
|
+
#line 116 "hpricot_scan.rl"
|
3159
|
+
{
|
3104
3160
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3105
3161
|
else { SET(aval, p); }
|
3106
3162
|
}
|
3107
|
-
#line
|
3108
|
-
{
|
3163
|
+
#line 134 "hpricot_scan.rl"
|
3164
|
+
{
|
3165
|
+
if (!S->xml)
|
3166
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3109
3167
|
ATTR(akey, aval);
|
3110
3168
|
}
|
3111
3169
|
goto st93;
|
3112
3170
|
tr195:
|
3113
|
-
#line
|
3171
|
+
#line 111 "hpricot_scan.rl"
|
3114
3172
|
{ mark_aval = p; }
|
3115
|
-
#line
|
3116
|
-
{
|
3173
|
+
#line 134 "hpricot_scan.rl"
|
3174
|
+
{
|
3175
|
+
if (!S->xml)
|
3176
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3117
3177
|
ATTR(akey, aval);
|
3118
3178
|
}
|
3119
|
-
#line
|
3120
|
-
{
|
3179
|
+
#line 116 "hpricot_scan.rl"
|
3180
|
+
{
|
3121
3181
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3122
3182
|
else { SET(aval, p); }
|
3123
3183
|
}
|
@@ -3126,7 +3186,7 @@ st93:
|
|
3126
3186
|
if ( ++p == pe )
|
3127
3187
|
goto _test_eof93;
|
3128
3188
|
case 93:
|
3129
|
-
#line
|
3189
|
+
#line 3190 "hpricot_scan.c"
|
3130
3190
|
switch( (*p) ) {
|
3131
3191
|
case 13: goto tr161;
|
3132
3192
|
case 32: goto tr161;
|
@@ -3143,14 +3203,14 @@ case 93:
|
|
3143
3203
|
goto tr161;
|
3144
3204
|
goto st78;
|
3145
3205
|
tr159:
|
3146
|
-
#line
|
3206
|
+
#line 111 "hpricot_scan.rl"
|
3147
3207
|
{ mark_aval = p; }
|
3148
3208
|
goto st94;
|
3149
3209
|
st94:
|
3150
3210
|
if ( ++p == pe )
|
3151
3211
|
goto _test_eof94;
|
3152
3212
|
case 94:
|
3153
|
-
#line
|
3213
|
+
#line 3214 "hpricot_scan.c"
|
3154
3214
|
switch( (*p) ) {
|
3155
3215
|
case 13: goto tr161;
|
3156
3216
|
case 32: goto tr161;
|
@@ -3167,18 +3227,18 @@ case 94:
|
|
3167
3227
|
goto tr161;
|
3168
3228
|
goto st78;
|
3169
3229
|
tr184:
|
3170
|
-
#line
|
3230
|
+
#line 111 "hpricot_scan.rl"
|
3171
3231
|
{ mark_aval = p; }
|
3172
3232
|
goto st95;
|
3173
3233
|
tr204:
|
3174
|
-
#line
|
3234
|
+
#line 120 "hpricot_scan.rl"
|
3175
3235
|
{ SET(akey, p); }
|
3176
3236
|
goto st95;
|
3177
3237
|
st95:
|
3178
3238
|
if ( ++p == pe )
|
3179
3239
|
goto _test_eof95;
|
3180
3240
|
case 95:
|
3181
|
-
#line
|
3241
|
+
#line 3242 "hpricot_scan.c"
|
3182
3242
|
switch( (*p) ) {
|
3183
3243
|
case 13: goto tr191;
|
3184
3244
|
case 32: goto tr191;
|
@@ -3216,14 +3276,14 @@ case 96:
|
|
3216
3276
|
goto tr211;
|
3217
3277
|
goto tr210;
|
3218
3278
|
tr210:
|
3219
|
-
#line
|
3279
|
+
#line 111 "hpricot_scan.rl"
|
3220
3280
|
{ mark_aval = p; }
|
3221
3281
|
goto st97;
|
3222
3282
|
st97:
|
3223
3283
|
if ( ++p == pe )
|
3224
3284
|
goto _test_eof97;
|
3225
3285
|
case 97:
|
3226
|
-
#line
|
3286
|
+
#line 3287 "hpricot_scan.c"
|
3227
3287
|
switch( (*p) ) {
|
3228
3288
|
case 13: goto tr220;
|
3229
3289
|
case 32: goto tr220;
|
@@ -3241,34 +3301,34 @@ case 97:
|
|
3241
3301
|
goto tr220;
|
3242
3302
|
goto st97;
|
3243
3303
|
tr315:
|
3244
|
-
#line
|
3304
|
+
#line 111 "hpricot_scan.rl"
|
3245
3305
|
{ mark_aval = p; }
|
3246
3306
|
goto st98;
|
3247
3307
|
tr220:
|
3248
|
-
#line
|
3249
|
-
{
|
3308
|
+
#line 116 "hpricot_scan.rl"
|
3309
|
+
{
|
3250
3310
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3251
3311
|
else { SET(aval, p); }
|
3252
3312
|
}
|
3253
3313
|
goto st98;
|
3254
3314
|
tr211:
|
3255
|
-
#line
|
3315
|
+
#line 111 "hpricot_scan.rl"
|
3256
3316
|
{ mark_aval = p; }
|
3257
|
-
#line
|
3258
|
-
{
|
3317
|
+
#line 116 "hpricot_scan.rl"
|
3318
|
+
{
|
3259
3319
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3260
3320
|
else { SET(aval, p); }
|
3261
3321
|
}
|
3262
3322
|
goto st98;
|
3263
3323
|
tr299:
|
3264
|
-
#line
|
3324
|
+
#line 115 "hpricot_scan.rl"
|
3265
3325
|
{ SET(aval, p); }
|
3266
3326
|
goto st98;
|
3267
3327
|
st98:
|
3268
3328
|
if ( ++p == pe )
|
3269
3329
|
goto _test_eof98;
|
3270
3330
|
case 98:
|
3271
|
-
#line
|
3331
|
+
#line 3332 "hpricot_scan.c"
|
3272
3332
|
switch( (*p) ) {
|
3273
3333
|
case 32: goto st98;
|
3274
3334
|
case 34: goto tr228;
|
@@ -3292,14 +3352,14 @@ case 98:
|
|
3292
3352
|
goto tr229;
|
3293
3353
|
goto st99;
|
3294
3354
|
tr216:
|
3295
|
-
#line
|
3355
|
+
#line 111 "hpricot_scan.rl"
|
3296
3356
|
{ mark_aval = p; }
|
3297
3357
|
goto st99;
|
3298
3358
|
st99:
|
3299
3359
|
if ( ++p == pe )
|
3300
3360
|
goto _test_eof99;
|
3301
3361
|
case 99:
|
3302
|
-
#line
|
3362
|
+
#line 3363 "hpricot_scan.c"
|
3303
3363
|
switch( (*p) ) {
|
3304
3364
|
case 34: goto tr228;
|
3305
3365
|
case 39: goto tr174;
|
@@ -3307,46 +3367,46 @@ case 99:
|
|
3307
3367
|
}
|
3308
3368
|
goto st99;
|
3309
3369
|
tr330:
|
3310
|
-
#line
|
3370
|
+
#line 111 "hpricot_scan.rl"
|
3311
3371
|
{ mark_aval = p; }
|
3312
3372
|
goto st100;
|
3313
3373
|
tr255:
|
3314
|
-
#line
|
3315
|
-
{
|
3374
|
+
#line 116 "hpricot_scan.rl"
|
3375
|
+
{
|
3316
3376
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3317
3377
|
else { SET(aval, p); }
|
3318
3378
|
}
|
3319
3379
|
goto st100;
|
3320
3380
|
tr326:
|
3321
|
-
#line
|
3381
|
+
#line 111 "hpricot_scan.rl"
|
3322
3382
|
{ mark_aval = p; }
|
3323
|
-
#line
|
3324
|
-
{
|
3383
|
+
#line 116 "hpricot_scan.rl"
|
3384
|
+
{
|
3325
3385
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3326
3386
|
else { SET(aval, p); }
|
3327
3387
|
}
|
3328
3388
|
goto st100;
|
3329
3389
|
tr316:
|
3330
|
-
#line
|
3390
|
+
#line 111 "hpricot_scan.rl"
|
3331
3391
|
{ mark_aval = p; }
|
3332
|
-
#line
|
3392
|
+
#line 115 "hpricot_scan.rl"
|
3333
3393
|
{ SET(aval, p); }
|
3334
3394
|
goto st100;
|
3335
3395
|
tr228:
|
3336
|
-
#line
|
3396
|
+
#line 115 "hpricot_scan.rl"
|
3337
3397
|
{ SET(aval, p); }
|
3338
3398
|
goto st100;
|
3339
3399
|
tr322:
|
3340
|
-
#line
|
3400
|
+
#line 115 "hpricot_scan.rl"
|
3341
3401
|
{ SET(aval, p); }
|
3342
|
-
#line
|
3402
|
+
#line 111 "hpricot_scan.rl"
|
3343
3403
|
{ mark_aval = p; }
|
3344
3404
|
goto st100;
|
3345
3405
|
st100:
|
3346
3406
|
if ( ++p == pe )
|
3347
3407
|
goto _test_eof100;
|
3348
3408
|
case 100:
|
3349
|
-
#line
|
3409
|
+
#line 3410 "hpricot_scan.c"
|
3350
3410
|
switch( (*p) ) {
|
3351
3411
|
case 32: goto st100;
|
3352
3412
|
case 39: goto tr169;
|
@@ -3369,70 +3429,74 @@ case 100:
|
|
3369
3429
|
goto tr235;
|
3370
3430
|
goto st101;
|
3371
3431
|
tr328:
|
3372
|
-
#line
|
3432
|
+
#line 111 "hpricot_scan.rl"
|
3373
3433
|
{ mark_aval = p; }
|
3374
3434
|
goto st101;
|
3375
3435
|
st101:
|
3376
3436
|
if ( ++p == pe )
|
3377
3437
|
goto _test_eof101;
|
3378
3438
|
case 101:
|
3379
|
-
#line
|
3439
|
+
#line 3440 "hpricot_scan.c"
|
3380
3440
|
switch( (*p) ) {
|
3381
3441
|
case 39: goto tr169;
|
3382
3442
|
case 92: goto st102;
|
3383
3443
|
}
|
3384
3444
|
goto st101;
|
3385
3445
|
tr335:
|
3386
|
-
#line
|
3446
|
+
#line 111 "hpricot_scan.rl"
|
3387
3447
|
{ mark_aval = p; }
|
3388
3448
|
goto st102;
|
3389
3449
|
st102:
|
3390
3450
|
if ( ++p == pe )
|
3391
3451
|
goto _test_eof102;
|
3392
3452
|
case 102:
|
3393
|
-
#line
|
3453
|
+
#line 3454 "hpricot_scan.c"
|
3394
3454
|
switch( (*p) ) {
|
3395
3455
|
case 39: goto tr228;
|
3396
3456
|
case 92: goto st102;
|
3397
3457
|
}
|
3398
3458
|
goto st101;
|
3399
3459
|
tr235:
|
3400
|
-
#line
|
3401
|
-
{
|
3460
|
+
#line 134 "hpricot_scan.rl"
|
3461
|
+
{
|
3462
|
+
if (!S->xml)
|
3463
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3402
3464
|
ATTR(akey, aval);
|
3403
3465
|
}
|
3404
|
-
#line
|
3405
|
-
{
|
3466
|
+
#line 127 "hpricot_scan.rl"
|
3467
|
+
{
|
3406
3468
|
akey = Qnil;
|
3407
3469
|
aval = Qnil;
|
3408
3470
|
mark_akey = NULL;
|
3409
3471
|
mark_aval = NULL;
|
3410
3472
|
}
|
3411
|
-
#line
|
3473
|
+
#line 112 "hpricot_scan.rl"
|
3412
3474
|
{ mark_akey = p; }
|
3413
3475
|
goto st103;
|
3414
3476
|
tr332:
|
3415
|
-
#line
|
3477
|
+
#line 111 "hpricot_scan.rl"
|
3416
3478
|
{ mark_aval = p; }
|
3417
|
-
#line
|
3418
|
-
{
|
3479
|
+
#line 134 "hpricot_scan.rl"
|
3480
|
+
{
|
3481
|
+
if (!S->xml)
|
3482
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3419
3483
|
ATTR(akey, aval);
|
3420
3484
|
}
|
3421
|
-
#line
|
3422
|
-
{
|
3485
|
+
#line 127 "hpricot_scan.rl"
|
3486
|
+
{
|
3423
3487
|
akey = Qnil;
|
3424
3488
|
aval = Qnil;
|
3425
3489
|
mark_akey = NULL;
|
3426
3490
|
mark_aval = NULL;
|
3427
3491
|
}
|
3428
|
-
#line
|
3492
|
+
#line 112 "hpricot_scan.rl"
|
3429
3493
|
{ mark_akey = p; }
|
3430
3494
|
goto st103;
|
3431
3495
|
st103:
|
3432
3496
|
if ( ++p == pe )
|
3433
3497
|
goto _test_eof103;
|
3434
3498
|
case 103:
|
3435
|
-
#line
|
3499
|
+
#line 3500 "hpricot_scan.c"
|
3436
3500
|
switch( (*p) ) {
|
3437
3501
|
case 32: goto tr239;
|
3438
3502
|
case 39: goto tr169;
|
@@ -3456,21 +3520,21 @@ case 103:
|
|
3456
3520
|
goto st103;
|
3457
3521
|
goto st101;
|
3458
3522
|
tr239:
|
3459
|
-
#line
|
3523
|
+
#line 120 "hpricot_scan.rl"
|
3460
3524
|
{ SET(akey, p); }
|
3461
3525
|
goto st104;
|
3462
3526
|
tr269:
|
3463
|
-
#line
|
3464
|
-
{
|
3527
|
+
#line 116 "hpricot_scan.rl"
|
3528
|
+
{
|
3465
3529
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3466
3530
|
else { SET(aval, p); }
|
3467
3531
|
}
|
3468
3532
|
goto st104;
|
3469
3533
|
tr263:
|
3470
|
-
#line
|
3534
|
+
#line 120 "hpricot_scan.rl"
|
3471
3535
|
{ SET(akey, p); }
|
3472
|
-
#line
|
3473
|
-
{
|
3536
|
+
#line 116 "hpricot_scan.rl"
|
3537
|
+
{
|
3474
3538
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3475
3539
|
else { SET(aval, p); }
|
3476
3540
|
}
|
@@ -3479,7 +3543,7 @@ st104:
|
|
3479
3543
|
if ( ++p == pe )
|
3480
3544
|
goto _test_eof104;
|
3481
3545
|
case 104:
|
3482
|
-
#line
|
3546
|
+
#line 3547 "hpricot_scan.c"
|
3483
3547
|
switch( (*p) ) {
|
3484
3548
|
case 32: goto st104;
|
3485
3549
|
case 39: goto tr169;
|
@@ -3503,24 +3567,30 @@ case 104:
|
|
3503
3567
|
goto tr235;
|
3504
3568
|
goto st101;
|
3505
3569
|
tr241:
|
3506
|
-
#line
|
3570
|
+
#line 120 "hpricot_scan.rl"
|
3507
3571
|
{ SET(akey, p); }
|
3508
|
-
#line
|
3509
|
-
{
|
3572
|
+
#line 134 "hpricot_scan.rl"
|
3573
|
+
{
|
3574
|
+
if (!S->xml)
|
3575
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3510
3576
|
ATTR(akey, aval);
|
3511
3577
|
}
|
3512
3578
|
goto st105;
|
3513
3579
|
tr236:
|
3514
|
-
#line
|
3515
|
-
{
|
3580
|
+
#line 134 "hpricot_scan.rl"
|
3581
|
+
{
|
3582
|
+
if (!S->xml)
|
3583
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3516
3584
|
ATTR(akey, aval);
|
3517
3585
|
}
|
3518
3586
|
goto st105;
|
3519
3587
|
tr333:
|
3520
|
-
#line
|
3588
|
+
#line 111 "hpricot_scan.rl"
|
3521
3589
|
{ mark_aval = p; }
|
3522
|
-
#line
|
3523
|
-
{
|
3590
|
+
#line 134 "hpricot_scan.rl"
|
3591
|
+
{
|
3592
|
+
if (!S->xml)
|
3593
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3524
3594
|
ATTR(akey, aval);
|
3525
3595
|
}
|
3526
3596
|
goto st105;
|
@@ -3528,7 +3598,7 @@ st105:
|
|
3528
3598
|
if ( ++p == pe )
|
3529
3599
|
goto _test_eof105;
|
3530
3600
|
case 105:
|
3531
|
-
#line
|
3601
|
+
#line 3602 "hpricot_scan.c"
|
3532
3602
|
switch( (*p) ) {
|
3533
3603
|
case 39: goto tr169;
|
3534
3604
|
case 62: goto tr246;
|
@@ -3538,15 +3608,17 @@ case 105:
|
|
3538
3608
|
tr341:
|
3539
3609
|
#line 1 "hpricot_scan.rl"
|
3540
3610
|
{te = p+1;}
|
3541
|
-
#line
|
3611
|
+
#line 111 "hpricot_scan.rl"
|
3542
3612
|
{ mark_aval = p; }
|
3543
|
-
#line
|
3544
|
-
{
|
3613
|
+
#line 116 "hpricot_scan.rl"
|
3614
|
+
{
|
3545
3615
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3546
3616
|
else { SET(aval, p); }
|
3547
3617
|
}
|
3548
|
-
#line
|
3549
|
-
{
|
3618
|
+
#line 134 "hpricot_scan.rl"
|
3619
|
+
{
|
3620
|
+
if (!S->xml)
|
3621
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3550
3622
|
ATTR(akey, aval);
|
3551
3623
|
}
|
3552
3624
|
#line 68 "hpricot_scan.rl"
|
@@ -3555,13 +3627,15 @@ tr341:
|
|
3555
3627
|
tr258:
|
3556
3628
|
#line 1 "hpricot_scan.rl"
|
3557
3629
|
{te = p+1;}
|
3558
|
-
#line
|
3559
|
-
{
|
3630
|
+
#line 116 "hpricot_scan.rl"
|
3631
|
+
{
|
3560
3632
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3561
3633
|
else { SET(aval, p); }
|
3562
3634
|
}
|
3563
|
-
#line
|
3564
|
-
{
|
3635
|
+
#line 134 "hpricot_scan.rl"
|
3636
|
+
{
|
3637
|
+
if (!S->xml)
|
3638
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3565
3639
|
ATTR(akey, aval);
|
3566
3640
|
}
|
3567
3641
|
#line 68 "hpricot_scan.rl"
|
@@ -3570,8 +3644,10 @@ tr258:
|
|
3570
3644
|
tr237:
|
3571
3645
|
#line 1 "hpricot_scan.rl"
|
3572
3646
|
{te = p+1;}
|
3573
|
-
#line
|
3574
|
-
{
|
3647
|
+
#line 134 "hpricot_scan.rl"
|
3648
|
+
{
|
3649
|
+
if (!S->xml)
|
3650
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3575
3651
|
ATTR(akey, aval);
|
3576
3652
|
}
|
3577
3653
|
#line 68 "hpricot_scan.rl"
|
@@ -3580,10 +3656,12 @@ tr237:
|
|
3580
3656
|
tr243:
|
3581
3657
|
#line 1 "hpricot_scan.rl"
|
3582
3658
|
{te = p+1;}
|
3583
|
-
#line
|
3659
|
+
#line 120 "hpricot_scan.rl"
|
3584
3660
|
{ SET(akey, p); }
|
3585
|
-
#line
|
3586
|
-
{
|
3661
|
+
#line 134 "hpricot_scan.rl"
|
3662
|
+
{
|
3663
|
+
if (!S->xml)
|
3664
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3587
3665
|
ATTR(akey, aval);
|
3588
3666
|
}
|
3589
3667
|
#line 68 "hpricot_scan.rl"
|
@@ -3598,12 +3676,14 @@ tr246:
|
|
3598
3676
|
tr262:
|
3599
3677
|
#line 1 "hpricot_scan.rl"
|
3600
3678
|
{te = p+1;}
|
3601
|
-
#line
|
3602
|
-
{
|
3679
|
+
#line 134 "hpricot_scan.rl"
|
3680
|
+
{
|
3681
|
+
if (!S->xml)
|
3682
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3603
3683
|
ATTR(akey, aval);
|
3604
3684
|
}
|
3605
|
-
#line
|
3606
|
-
{
|
3685
|
+
#line 116 "hpricot_scan.rl"
|
3686
|
+
{
|
3607
3687
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3608
3688
|
else { SET(aval, p); }
|
3609
3689
|
}
|
@@ -3613,14 +3693,16 @@ tr262:
|
|
3613
3693
|
tr329:
|
3614
3694
|
#line 1 "hpricot_scan.rl"
|
3615
3695
|
{te = p+1;}
|
3616
|
-
#line
|
3696
|
+
#line 111 "hpricot_scan.rl"
|
3617
3697
|
{ mark_aval = p; }
|
3618
|
-
#line
|
3619
|
-
{
|
3698
|
+
#line 134 "hpricot_scan.rl"
|
3699
|
+
{
|
3700
|
+
if (!S->xml)
|
3701
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3620
3702
|
ATTR(akey, aval);
|
3621
3703
|
}
|
3622
|
-
#line
|
3623
|
-
{
|
3704
|
+
#line 116 "hpricot_scan.rl"
|
3705
|
+
{
|
3624
3706
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3625
3707
|
else { SET(aval, p); }
|
3626
3708
|
}
|
@@ -3630,15 +3712,17 @@ tr329:
|
|
3630
3712
|
tr268:
|
3631
3713
|
#line 1 "hpricot_scan.rl"
|
3632
3714
|
{te = p+1;}
|
3633
|
-
#line
|
3634
|
-
{
|
3715
|
+
#line 116 "hpricot_scan.rl"
|
3716
|
+
{
|
3635
3717
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3636
3718
|
else { SET(aval, p); }
|
3637
3719
|
}
|
3638
|
-
#line
|
3720
|
+
#line 120 "hpricot_scan.rl"
|
3639
3721
|
{ SET(akey, p); }
|
3640
|
-
#line
|
3641
|
-
{
|
3722
|
+
#line 134 "hpricot_scan.rl"
|
3723
|
+
{
|
3724
|
+
if (!S->xml)
|
3725
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3642
3726
|
ATTR(akey, aval);
|
3643
3727
|
}
|
3644
3728
|
#line 68 "hpricot_scan.rl"
|
@@ -3647,10 +3731,12 @@ tr268:
|
|
3647
3731
|
tr334:
|
3648
3732
|
#line 1 "hpricot_scan.rl"
|
3649
3733
|
{te = p+1;}
|
3650
|
-
#line
|
3734
|
+
#line 111 "hpricot_scan.rl"
|
3651
3735
|
{ mark_aval = p; }
|
3652
|
-
#line
|
3653
|
-
{
|
3736
|
+
#line 134 "hpricot_scan.rl"
|
3737
|
+
{
|
3738
|
+
if (!S->xml)
|
3739
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3654
3740
|
ATTR(akey, aval);
|
3655
3741
|
}
|
3656
3742
|
#line 68 "hpricot_scan.rl"
|
@@ -3660,21 +3746,21 @@ st210:
|
|
3660
3746
|
if ( ++p == pe )
|
3661
3747
|
goto _test_eof210;
|
3662
3748
|
case 210:
|
3663
|
-
#line
|
3749
|
+
#line 3750 "hpricot_scan.c"
|
3664
3750
|
switch( (*p) ) {
|
3665
3751
|
case 39: goto tr169;
|
3666
3752
|
case 92: goto st102;
|
3667
3753
|
}
|
3668
3754
|
goto st101;
|
3669
3755
|
tr242:
|
3670
|
-
#line
|
3756
|
+
#line 120 "hpricot_scan.rl"
|
3671
3757
|
{ SET(akey, p); }
|
3672
3758
|
goto st106;
|
3673
3759
|
st106:
|
3674
3760
|
if ( ++p == pe )
|
3675
3761
|
goto _test_eof106;
|
3676
3762
|
case 106:
|
3677
|
-
#line
|
3763
|
+
#line 3764 "hpricot_scan.c"
|
3678
3764
|
switch( (*p) ) {
|
3679
3765
|
case 13: goto tr248;
|
3680
3766
|
case 32: goto tr248;
|
@@ -3692,14 +3778,14 @@ case 106:
|
|
3692
3778
|
goto tr248;
|
3693
3779
|
goto tr247;
|
3694
3780
|
tr247:
|
3695
|
-
#line
|
3781
|
+
#line 111 "hpricot_scan.rl"
|
3696
3782
|
{ mark_aval = p; }
|
3697
3783
|
goto st107;
|
3698
3784
|
st107:
|
3699
3785
|
if ( ++p == pe )
|
3700
3786
|
goto _test_eof107;
|
3701
3787
|
case 107:
|
3702
|
-
#line
|
3788
|
+
#line 3789 "hpricot_scan.c"
|
3703
3789
|
switch( (*p) ) {
|
3704
3790
|
case 13: goto tr255;
|
3705
3791
|
case 32: goto tr255;
|
@@ -3716,42 +3802,42 @@ case 107:
|
|
3716
3802
|
goto tr255;
|
3717
3803
|
goto st107;
|
3718
3804
|
tr256:
|
3719
|
-
#line
|
3720
|
-
{
|
3805
|
+
#line 116 "hpricot_scan.rl"
|
3806
|
+
{
|
3721
3807
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3722
3808
|
else { SET(aval, p); }
|
3723
3809
|
}
|
3724
3810
|
goto st108;
|
3725
3811
|
tr327:
|
3726
|
-
#line
|
3812
|
+
#line 111 "hpricot_scan.rl"
|
3727
3813
|
{ mark_aval = p; }
|
3728
|
-
#line
|
3729
|
-
{
|
3814
|
+
#line 116 "hpricot_scan.rl"
|
3815
|
+
{
|
3730
3816
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3731
3817
|
else { SET(aval, p); }
|
3732
3818
|
}
|
3733
3819
|
goto st108;
|
3734
3820
|
tr281:
|
3735
|
-
#line
|
3821
|
+
#line 111 "hpricot_scan.rl"
|
3736
3822
|
{ mark_aval = p; }
|
3737
|
-
#line
|
3823
|
+
#line 115 "hpricot_scan.rl"
|
3738
3824
|
{ SET(aval, p); }
|
3739
3825
|
goto st108;
|
3740
3826
|
tr222:
|
3741
|
-
#line
|
3827
|
+
#line 115 "hpricot_scan.rl"
|
3742
3828
|
{ SET(aval, p); }
|
3743
3829
|
goto st108;
|
3744
3830
|
tr213:
|
3745
|
-
#line
|
3831
|
+
#line 115 "hpricot_scan.rl"
|
3746
3832
|
{ SET(aval, p); }
|
3747
|
-
#line
|
3833
|
+
#line 111 "hpricot_scan.rl"
|
3748
3834
|
{ mark_aval = p; }
|
3749
3835
|
goto st108;
|
3750
3836
|
st108:
|
3751
3837
|
if ( ++p == pe )
|
3752
3838
|
goto _test_eof108;
|
3753
3839
|
case 108:
|
3754
|
-
#line
|
3840
|
+
#line 3841 "hpricot_scan.c"
|
3755
3841
|
switch( (*p) ) {
|
3756
3842
|
case 13: goto tr255;
|
3757
3843
|
case 32: goto tr255;
|
@@ -3779,42 +3865,46 @@ case 108:
|
|
3779
3865
|
goto tr260;
|
3780
3866
|
goto st107;
|
3781
3867
|
tr260:
|
3782
|
-
#line
|
3783
|
-
{
|
3868
|
+
#line 134 "hpricot_scan.rl"
|
3869
|
+
{
|
3870
|
+
if (!S->xml)
|
3871
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3784
3872
|
ATTR(akey, aval);
|
3785
3873
|
}
|
3786
|
-
#line
|
3787
|
-
{
|
3874
|
+
#line 127 "hpricot_scan.rl"
|
3875
|
+
{
|
3788
3876
|
akey = Qnil;
|
3789
3877
|
aval = Qnil;
|
3790
3878
|
mark_akey = NULL;
|
3791
3879
|
mark_aval = NULL;
|
3792
3880
|
}
|
3793
|
-
#line
|
3881
|
+
#line 112 "hpricot_scan.rl"
|
3794
3882
|
{ mark_akey = p; }
|
3795
3883
|
goto st109;
|
3796
3884
|
tr279:
|
3797
|
-
#line
|
3885
|
+
#line 111 "hpricot_scan.rl"
|
3798
3886
|
{ mark_aval = p; }
|
3799
|
-
#line
|
3800
|
-
{
|
3887
|
+
#line 134 "hpricot_scan.rl"
|
3888
|
+
{
|
3889
|
+
if (!S->xml)
|
3890
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3801
3891
|
ATTR(akey, aval);
|
3802
3892
|
}
|
3803
|
-
#line
|
3804
|
-
{
|
3893
|
+
#line 127 "hpricot_scan.rl"
|
3894
|
+
{
|
3805
3895
|
akey = Qnil;
|
3806
3896
|
aval = Qnil;
|
3807
3897
|
mark_akey = NULL;
|
3808
3898
|
mark_aval = NULL;
|
3809
3899
|
}
|
3810
|
-
#line
|
3900
|
+
#line 112 "hpricot_scan.rl"
|
3811
3901
|
{ mark_akey = p; }
|
3812
3902
|
goto st109;
|
3813
3903
|
st109:
|
3814
3904
|
if ( ++p == pe )
|
3815
3905
|
goto _test_eof109;
|
3816
3906
|
case 109:
|
3817
|
-
#line
|
3907
|
+
#line 3908 "hpricot_scan.c"
|
3818
3908
|
switch( (*p) ) {
|
3819
3909
|
case 13: goto tr263;
|
3820
3910
|
case 32: goto tr263;
|
@@ -3843,17 +3933,17 @@ case 109:
|
|
3843
3933
|
goto st109;
|
3844
3934
|
goto st107;
|
3845
3935
|
tr270:
|
3846
|
-
#line
|
3847
|
-
{
|
3936
|
+
#line 116 "hpricot_scan.rl"
|
3937
|
+
{
|
3848
3938
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3849
3939
|
else { SET(aval, p); }
|
3850
3940
|
}
|
3851
3941
|
goto st110;
|
3852
3942
|
tr264:
|
3853
|
-
#line
|
3943
|
+
#line 120 "hpricot_scan.rl"
|
3854
3944
|
{ SET(akey, p); }
|
3855
|
-
#line
|
3856
|
-
{
|
3945
|
+
#line 116 "hpricot_scan.rl"
|
3946
|
+
{
|
3857
3947
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3858
3948
|
else { SET(aval, p); }
|
3859
3949
|
}
|
@@ -3862,7 +3952,7 @@ st110:
|
|
3862
3952
|
if ( ++p == pe )
|
3863
3953
|
goto _test_eof110;
|
3864
3954
|
case 110:
|
3865
|
-
#line
|
3955
|
+
#line 3956 "hpricot_scan.c"
|
3866
3956
|
switch( (*p) ) {
|
3867
3957
|
case 13: goto tr269;
|
3868
3958
|
case 32: goto tr269;
|
@@ -3891,70 +3981,82 @@ case 110:
|
|
3891
3981
|
goto tr260;
|
3892
3982
|
goto st107;
|
3893
3983
|
tr252:
|
3894
|
-
#line
|
3984
|
+
#line 111 "hpricot_scan.rl"
|
3895
3985
|
{ mark_aval = p; }
|
3896
|
-
#line
|
3897
|
-
{
|
3986
|
+
#line 134 "hpricot_scan.rl"
|
3987
|
+
{
|
3988
|
+
if (!S->xml)
|
3989
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3898
3990
|
ATTR(akey, aval);
|
3899
3991
|
}
|
3900
3992
|
goto st111;
|
3901
3993
|
tr257:
|
3902
|
-
#line
|
3903
|
-
{
|
3994
|
+
#line 116 "hpricot_scan.rl"
|
3995
|
+
{
|
3904
3996
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3905
3997
|
else { SET(aval, p); }
|
3906
3998
|
}
|
3907
|
-
#line
|
3908
|
-
{
|
3999
|
+
#line 134 "hpricot_scan.rl"
|
4000
|
+
{
|
4001
|
+
if (!S->xml)
|
4002
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3909
4003
|
ATTR(akey, aval);
|
3910
4004
|
}
|
3911
4005
|
goto st111;
|
3912
4006
|
tr261:
|
3913
|
-
#line
|
3914
|
-
{
|
4007
|
+
#line 134 "hpricot_scan.rl"
|
4008
|
+
{
|
4009
|
+
if (!S->xml)
|
4010
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3915
4011
|
ATTR(akey, aval);
|
3916
4012
|
}
|
3917
|
-
#line
|
3918
|
-
{
|
4013
|
+
#line 116 "hpricot_scan.rl"
|
4014
|
+
{
|
3919
4015
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3920
4016
|
else { SET(aval, p); }
|
3921
4017
|
}
|
3922
4018
|
goto st111;
|
3923
4019
|
tr266:
|
3924
|
-
#line
|
3925
|
-
{
|
4020
|
+
#line 116 "hpricot_scan.rl"
|
4021
|
+
{
|
3926
4022
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3927
4023
|
else { SET(aval, p); }
|
3928
4024
|
}
|
3929
|
-
#line
|
4025
|
+
#line 120 "hpricot_scan.rl"
|
3930
4026
|
{ SET(akey, p); }
|
3931
|
-
#line
|
3932
|
-
{
|
4027
|
+
#line 134 "hpricot_scan.rl"
|
4028
|
+
{
|
4029
|
+
if (!S->xml)
|
4030
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3933
4031
|
ATTR(akey, aval);
|
3934
4032
|
}
|
3935
4033
|
goto st111;
|
3936
4034
|
tr276:
|
3937
|
-
#line
|
4035
|
+
#line 111 "hpricot_scan.rl"
|
3938
4036
|
{ mark_aval = p; }
|
3939
|
-
#line
|
3940
|
-
{
|
4037
|
+
#line 116 "hpricot_scan.rl"
|
4038
|
+
{
|
3941
4039
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3942
4040
|
else { SET(aval, p); }
|
3943
4041
|
}
|
3944
|
-
#line
|
3945
|
-
{
|
4042
|
+
#line 134 "hpricot_scan.rl"
|
4043
|
+
{
|
4044
|
+
if (!S->xml)
|
4045
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3946
4046
|
ATTR(akey, aval);
|
3947
4047
|
}
|
3948
4048
|
goto st111;
|
3949
4049
|
tr280:
|
3950
|
-
#line
|
4050
|
+
#line 111 "hpricot_scan.rl"
|
3951
4051
|
{ mark_aval = p; }
|
3952
|
-
#line
|
3953
|
-
{
|
4052
|
+
#line 134 "hpricot_scan.rl"
|
4053
|
+
{
|
4054
|
+
if (!S->xml)
|
4055
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
3954
4056
|
ATTR(akey, aval);
|
3955
4057
|
}
|
3956
|
-
#line
|
3957
|
-
{
|
4058
|
+
#line 116 "hpricot_scan.rl"
|
4059
|
+
{
|
3958
4060
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3959
4061
|
else { SET(aval, p); }
|
3960
4062
|
}
|
@@ -3963,7 +4065,7 @@ st111:
|
|
3963
4065
|
if ( ++p == pe )
|
3964
4066
|
goto _test_eof111;
|
3965
4067
|
case 111:
|
3966
|
-
#line
|
4068
|
+
#line 4069 "hpricot_scan.c"
|
3967
4069
|
switch( (*p) ) {
|
3968
4070
|
case 13: goto tr255;
|
3969
4071
|
case 32: goto tr255;
|
@@ -3980,14 +4082,14 @@ case 111:
|
|
3980
4082
|
goto tr255;
|
3981
4083
|
goto st107;
|
3982
4084
|
tr253:
|
3983
|
-
#line
|
4085
|
+
#line 111 "hpricot_scan.rl"
|
3984
4086
|
{ mark_aval = p; }
|
3985
4087
|
goto st112;
|
3986
4088
|
st112:
|
3987
4089
|
if ( ++p == pe )
|
3988
4090
|
goto _test_eof112;
|
3989
4091
|
case 112:
|
3990
|
-
#line
|
4092
|
+
#line 4093 "hpricot_scan.c"
|
3991
4093
|
switch( (*p) ) {
|
3992
4094
|
case 13: goto tr255;
|
3993
4095
|
case 32: goto tr255;
|
@@ -4004,18 +4106,18 @@ case 112:
|
|
4004
4106
|
goto tr255;
|
4005
4107
|
goto st107;
|
4006
4108
|
tr249:
|
4007
|
-
#line
|
4109
|
+
#line 111 "hpricot_scan.rl"
|
4008
4110
|
{ mark_aval = p; }
|
4009
4111
|
goto st113;
|
4010
4112
|
tr267:
|
4011
|
-
#line
|
4113
|
+
#line 120 "hpricot_scan.rl"
|
4012
4114
|
{ SET(akey, p); }
|
4013
4115
|
goto st113;
|
4014
4116
|
st113:
|
4015
4117
|
if ( ++p == pe )
|
4016
4118
|
goto _test_eof113;
|
4017
4119
|
case 113:
|
4018
|
-
#line
|
4120
|
+
#line 4121 "hpricot_scan.c"
|
4019
4121
|
switch( (*p) ) {
|
4020
4122
|
case 13: goto tr272;
|
4021
4123
|
case 32: goto tr272;
|
@@ -4033,14 +4135,14 @@ case 113:
|
|
4033
4135
|
goto tr272;
|
4034
4136
|
goto tr247;
|
4035
4137
|
tr277:
|
4036
|
-
#line
|
4138
|
+
#line 111 "hpricot_scan.rl"
|
4037
4139
|
{ mark_aval = p; }
|
4038
4140
|
goto st114;
|
4039
4141
|
tr272:
|
4040
|
-
#line
|
4142
|
+
#line 111 "hpricot_scan.rl"
|
4041
4143
|
{ mark_aval = p; }
|
4042
|
-
#line
|
4043
|
-
{
|
4144
|
+
#line 116 "hpricot_scan.rl"
|
4145
|
+
{
|
4044
4146
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4045
4147
|
else { SET(aval, p); }
|
4046
4148
|
}
|
@@ -4049,7 +4151,7 @@ st114:
|
|
4049
4151
|
if ( ++p == pe )
|
4050
4152
|
goto _test_eof114;
|
4051
4153
|
case 114:
|
4052
|
-
#line
|
4154
|
+
#line 4155 "hpricot_scan.c"
|
4053
4155
|
switch( (*p) ) {
|
4054
4156
|
case 13: goto tr277;
|
4055
4157
|
case 32: goto tr277;
|
@@ -4078,14 +4180,14 @@ case 114:
|
|
4078
4180
|
goto tr279;
|
4079
4181
|
goto tr247;
|
4080
4182
|
tr278:
|
4081
|
-
#line
|
4183
|
+
#line 111 "hpricot_scan.rl"
|
4082
4184
|
{ mark_aval = p; }
|
4083
4185
|
goto st115;
|
4084
4186
|
tr273:
|
4085
|
-
#line
|
4187
|
+
#line 111 "hpricot_scan.rl"
|
4086
4188
|
{ mark_aval = p; }
|
4087
|
-
#line
|
4088
|
-
{
|
4189
|
+
#line 116 "hpricot_scan.rl"
|
4190
|
+
{
|
4089
4191
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4090
4192
|
else { SET(aval, p); }
|
4091
4193
|
}
|
@@ -4094,7 +4196,7 @@ st115:
|
|
4094
4196
|
if ( ++p == pe )
|
4095
4197
|
goto _test_eof115;
|
4096
4198
|
case 115:
|
4097
|
-
#line
|
4199
|
+
#line 4200 "hpricot_scan.c"
|
4098
4200
|
switch( (*p) ) {
|
4099
4201
|
case 13: goto tr272;
|
4100
4202
|
case 32: goto tr272;
|
@@ -4143,30 +4245,30 @@ case 116:
|
|
4143
4245
|
goto tr211;
|
4144
4246
|
goto tr210;
|
4145
4247
|
tr221:
|
4146
|
-
#line
|
4147
|
-
{
|
4248
|
+
#line 116 "hpricot_scan.rl"
|
4249
|
+
{
|
4148
4250
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4149
4251
|
else { SET(aval, p); }
|
4150
4252
|
}
|
4151
4253
|
goto st117;
|
4152
4254
|
tr212:
|
4153
|
-
#line
|
4255
|
+
#line 111 "hpricot_scan.rl"
|
4154
4256
|
{ mark_aval = p; }
|
4155
|
-
#line
|
4156
|
-
{
|
4257
|
+
#line 116 "hpricot_scan.rl"
|
4258
|
+
{
|
4157
4259
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4158
4260
|
else { SET(aval, p); }
|
4159
4261
|
}
|
4160
4262
|
goto st117;
|
4161
4263
|
tr314:
|
4162
|
-
#line
|
4264
|
+
#line 115 "hpricot_scan.rl"
|
4163
4265
|
{ SET(aval, p); }
|
4164
4266
|
goto st117;
|
4165
4267
|
st117:
|
4166
4268
|
if ( ++p == pe )
|
4167
4269
|
goto _test_eof117;
|
4168
4270
|
case 117:
|
4169
|
-
#line
|
4271
|
+
#line 4272 "hpricot_scan.c"
|
4170
4272
|
switch( (*p) ) {
|
4171
4273
|
case 13: goto tr220;
|
4172
4274
|
case 32: goto tr220;
|
@@ -4195,42 +4297,46 @@ case 117:
|
|
4195
4297
|
goto tr282;
|
4196
4298
|
goto st97;
|
4197
4299
|
tr282:
|
4198
|
-
#line
|
4199
|
-
{
|
4300
|
+
#line 134 "hpricot_scan.rl"
|
4301
|
+
{
|
4302
|
+
if (!S->xml)
|
4303
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4200
4304
|
ATTR(akey, aval);
|
4201
4305
|
}
|
4202
|
-
#line
|
4203
|
-
{
|
4306
|
+
#line 127 "hpricot_scan.rl"
|
4307
|
+
{
|
4204
4308
|
akey = Qnil;
|
4205
4309
|
aval = Qnil;
|
4206
4310
|
mark_akey = NULL;
|
4207
4311
|
mark_aval = NULL;
|
4208
4312
|
}
|
4209
|
-
#line
|
4313
|
+
#line 112 "hpricot_scan.rl"
|
4210
4314
|
{ mark_akey = p; }
|
4211
4315
|
goto st118;
|
4212
4316
|
tr307:
|
4213
|
-
#line
|
4317
|
+
#line 111 "hpricot_scan.rl"
|
4214
4318
|
{ mark_aval = p; }
|
4215
|
-
#line
|
4216
|
-
{
|
4319
|
+
#line 134 "hpricot_scan.rl"
|
4320
|
+
{
|
4321
|
+
if (!S->xml)
|
4322
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4217
4323
|
ATTR(akey, aval);
|
4218
4324
|
}
|
4219
|
-
#line
|
4220
|
-
{
|
4325
|
+
#line 127 "hpricot_scan.rl"
|
4326
|
+
{
|
4221
4327
|
akey = Qnil;
|
4222
4328
|
aval = Qnil;
|
4223
4329
|
mark_akey = NULL;
|
4224
4330
|
mark_aval = NULL;
|
4225
4331
|
}
|
4226
|
-
#line
|
4332
|
+
#line 112 "hpricot_scan.rl"
|
4227
4333
|
{ mark_akey = p; }
|
4228
4334
|
goto st118;
|
4229
4335
|
st118:
|
4230
4336
|
if ( ++p == pe )
|
4231
4337
|
goto _test_eof118;
|
4232
4338
|
case 118:
|
4233
|
-
#line
|
4339
|
+
#line 4340 "hpricot_scan.c"
|
4234
4340
|
switch( (*p) ) {
|
4235
4341
|
case 13: goto tr285;
|
4236
4342
|
case 32: goto tr285;
|
@@ -4260,21 +4366,21 @@ case 118:
|
|
4260
4366
|
goto st118;
|
4261
4367
|
goto st97;
|
4262
4368
|
tr293:
|
4263
|
-
#line
|
4369
|
+
#line 120 "hpricot_scan.rl"
|
4264
4370
|
{ SET(akey, p); }
|
4265
4371
|
goto st119;
|
4266
4372
|
tr323:
|
4267
|
-
#line
|
4268
|
-
{
|
4373
|
+
#line 116 "hpricot_scan.rl"
|
4374
|
+
{
|
4269
4375
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4270
4376
|
else { SET(aval, p); }
|
4271
4377
|
}
|
4272
4378
|
goto st119;
|
4273
4379
|
tr285:
|
4274
|
-
#line
|
4380
|
+
#line 120 "hpricot_scan.rl"
|
4275
4381
|
{ SET(akey, p); }
|
4276
|
-
#line
|
4277
|
-
{
|
4382
|
+
#line 116 "hpricot_scan.rl"
|
4383
|
+
{
|
4278
4384
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4279
4385
|
else { SET(aval, p); }
|
4280
4386
|
}
|
@@ -4283,7 +4389,7 @@ st119:
|
|
4283
4389
|
if ( ++p == pe )
|
4284
4390
|
goto _test_eof119;
|
4285
4391
|
case 119:
|
4286
|
-
#line
|
4392
|
+
#line 4393 "hpricot_scan.c"
|
4287
4393
|
switch( (*p) ) {
|
4288
4394
|
case 32: goto st119;
|
4289
4395
|
case 34: goto tr228;
|
@@ -4308,42 +4414,46 @@ case 119:
|
|
4308
4414
|
goto tr229;
|
4309
4415
|
goto st99;
|
4310
4416
|
tr229:
|
4311
|
-
#line
|
4312
|
-
{
|
4417
|
+
#line 134 "hpricot_scan.rl"
|
4418
|
+
{
|
4419
|
+
if (!S->xml)
|
4420
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4313
4421
|
ATTR(akey, aval);
|
4314
4422
|
}
|
4315
|
-
#line
|
4316
|
-
{
|
4423
|
+
#line 127 "hpricot_scan.rl"
|
4424
|
+
{
|
4317
4425
|
akey = Qnil;
|
4318
4426
|
aval = Qnil;
|
4319
4427
|
mark_akey = NULL;
|
4320
4428
|
mark_aval = NULL;
|
4321
4429
|
}
|
4322
|
-
#line
|
4430
|
+
#line 112 "hpricot_scan.rl"
|
4323
4431
|
{ mark_akey = p; }
|
4324
4432
|
goto st120;
|
4325
4433
|
tr318:
|
4326
|
-
#line
|
4434
|
+
#line 111 "hpricot_scan.rl"
|
4327
4435
|
{ mark_aval = p; }
|
4328
|
-
#line
|
4329
|
-
{
|
4436
|
+
#line 134 "hpricot_scan.rl"
|
4437
|
+
{
|
4438
|
+
if (!S->xml)
|
4439
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4330
4440
|
ATTR(akey, aval);
|
4331
4441
|
}
|
4332
|
-
#line
|
4333
|
-
{
|
4442
|
+
#line 127 "hpricot_scan.rl"
|
4443
|
+
{
|
4334
4444
|
akey = Qnil;
|
4335
4445
|
aval = Qnil;
|
4336
4446
|
mark_akey = NULL;
|
4337
4447
|
mark_aval = NULL;
|
4338
4448
|
}
|
4339
|
-
#line
|
4449
|
+
#line 112 "hpricot_scan.rl"
|
4340
4450
|
{ mark_akey = p; }
|
4341
4451
|
goto st120;
|
4342
4452
|
st120:
|
4343
4453
|
if ( ++p == pe )
|
4344
4454
|
goto _test_eof120;
|
4345
4455
|
case 120:
|
4346
|
-
#line
|
4456
|
+
#line 4457 "hpricot_scan.c"
|
4347
4457
|
switch( (*p) ) {
|
4348
4458
|
case 32: goto tr293;
|
4349
4459
|
case 34: goto tr228;
|
@@ -4368,24 +4478,30 @@ case 120:
|
|
4368
4478
|
goto st120;
|
4369
4479
|
goto st99;
|
4370
4480
|
tr295:
|
4371
|
-
#line
|
4481
|
+
#line 120 "hpricot_scan.rl"
|
4372
4482
|
{ SET(akey, p); }
|
4373
|
-
#line
|
4374
|
-
{
|
4483
|
+
#line 134 "hpricot_scan.rl"
|
4484
|
+
{
|
4485
|
+
if (!S->xml)
|
4486
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4375
4487
|
ATTR(akey, aval);
|
4376
4488
|
}
|
4377
4489
|
goto st121;
|
4378
4490
|
tr230:
|
4379
|
-
#line
|
4380
|
-
{
|
4491
|
+
#line 134 "hpricot_scan.rl"
|
4492
|
+
{
|
4493
|
+
if (!S->xml)
|
4494
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4381
4495
|
ATTR(akey, aval);
|
4382
4496
|
}
|
4383
4497
|
goto st121;
|
4384
4498
|
tr319:
|
4385
|
-
#line
|
4499
|
+
#line 111 "hpricot_scan.rl"
|
4386
4500
|
{ mark_aval = p; }
|
4387
|
-
#line
|
4388
|
-
{
|
4501
|
+
#line 134 "hpricot_scan.rl"
|
4502
|
+
{
|
4503
|
+
if (!S->xml)
|
4504
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4389
4505
|
ATTR(akey, aval);
|
4390
4506
|
}
|
4391
4507
|
goto st121;
|
@@ -4393,7 +4509,7 @@ st121:
|
|
4393
4509
|
if ( ++p == pe )
|
4394
4510
|
goto _test_eof121;
|
4395
4511
|
case 121:
|
4396
|
-
#line
|
4512
|
+
#line 4513 "hpricot_scan.c"
|
4397
4513
|
switch( (*p) ) {
|
4398
4514
|
case 34: goto tr228;
|
4399
4515
|
case 39: goto tr174;
|
@@ -4404,15 +4520,17 @@ case 121:
|
|
4404
4520
|
tr217:
|
4405
4521
|
#line 1 "hpricot_scan.rl"
|
4406
4522
|
{te = p+1;}
|
4407
|
-
#line
|
4523
|
+
#line 111 "hpricot_scan.rl"
|
4408
4524
|
{ mark_aval = p; }
|
4409
|
-
#line
|
4410
|
-
{
|
4525
|
+
#line 116 "hpricot_scan.rl"
|
4526
|
+
{
|
4411
4527
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4412
4528
|
else { SET(aval, p); }
|
4413
4529
|
}
|
4414
|
-
#line
|
4415
|
-
{
|
4530
|
+
#line 134 "hpricot_scan.rl"
|
4531
|
+
{
|
4532
|
+
if (!S->xml)
|
4533
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4416
4534
|
ATTR(akey, aval);
|
4417
4535
|
}
|
4418
4536
|
#line 68 "hpricot_scan.rl"
|
@@ -4421,13 +4539,15 @@ tr217:
|
|
4421
4539
|
tr225:
|
4422
4540
|
#line 1 "hpricot_scan.rl"
|
4423
4541
|
{te = p+1;}
|
4424
|
-
#line
|
4425
|
-
{
|
4542
|
+
#line 116 "hpricot_scan.rl"
|
4543
|
+
{
|
4426
4544
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4427
4545
|
else { SET(aval, p); }
|
4428
4546
|
}
|
4429
|
-
#line
|
4430
|
-
{
|
4547
|
+
#line 134 "hpricot_scan.rl"
|
4548
|
+
{
|
4549
|
+
if (!S->xml)
|
4550
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4431
4551
|
ATTR(akey, aval);
|
4432
4552
|
}
|
4433
4553
|
#line 68 "hpricot_scan.rl"
|
@@ -4436,8 +4556,10 @@ tr225:
|
|
4436
4556
|
tr231:
|
4437
4557
|
#line 1 "hpricot_scan.rl"
|
4438
4558
|
{te = p+1;}
|
4439
|
-
#line
|
4440
|
-
{
|
4559
|
+
#line 134 "hpricot_scan.rl"
|
4560
|
+
{
|
4561
|
+
if (!S->xml)
|
4562
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4441
4563
|
ATTR(akey, aval);
|
4442
4564
|
}
|
4443
4565
|
#line 68 "hpricot_scan.rl"
|
@@ -4446,10 +4568,12 @@ tr231:
|
|
4446
4568
|
tr297:
|
4447
4569
|
#line 1 "hpricot_scan.rl"
|
4448
4570
|
{te = p+1;}
|
4449
|
-
#line
|
4571
|
+
#line 120 "hpricot_scan.rl"
|
4450
4572
|
{ SET(akey, p); }
|
4451
|
-
#line
|
4452
|
-
{
|
4573
|
+
#line 134 "hpricot_scan.rl"
|
4574
|
+
{
|
4575
|
+
if (!S->xml)
|
4576
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4453
4577
|
ATTR(akey, aval);
|
4454
4578
|
}
|
4455
4579
|
#line 68 "hpricot_scan.rl"
|
@@ -4464,12 +4588,14 @@ tr298:
|
|
4464
4588
|
tr284:
|
4465
4589
|
#line 1 "hpricot_scan.rl"
|
4466
4590
|
{te = p+1;}
|
4467
|
-
#line
|
4468
|
-
{
|
4591
|
+
#line 134 "hpricot_scan.rl"
|
4592
|
+
{
|
4593
|
+
if (!S->xml)
|
4594
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4469
4595
|
ATTR(akey, aval);
|
4470
4596
|
}
|
4471
|
-
#line
|
4472
|
-
{
|
4597
|
+
#line 116 "hpricot_scan.rl"
|
4598
|
+
{
|
4473
4599
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4474
4600
|
else { SET(aval, p); }
|
4475
4601
|
}
|
@@ -4479,14 +4605,16 @@ tr284:
|
|
4479
4605
|
tr313:
|
4480
4606
|
#line 1 "hpricot_scan.rl"
|
4481
4607
|
{te = p+1;}
|
4482
|
-
#line
|
4608
|
+
#line 111 "hpricot_scan.rl"
|
4483
4609
|
{ mark_aval = p; }
|
4484
|
-
#line
|
4485
|
-
{
|
4610
|
+
#line 134 "hpricot_scan.rl"
|
4611
|
+
{
|
4612
|
+
if (!S->xml)
|
4613
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4486
4614
|
ATTR(akey, aval);
|
4487
4615
|
}
|
4488
|
-
#line
|
4489
|
-
{
|
4616
|
+
#line 116 "hpricot_scan.rl"
|
4617
|
+
{
|
4490
4618
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4491
4619
|
else { SET(aval, p); }
|
4492
4620
|
}
|
@@ -4496,15 +4624,17 @@ tr313:
|
|
4496
4624
|
tr290:
|
4497
4625
|
#line 1 "hpricot_scan.rl"
|
4498
4626
|
{te = p+1;}
|
4499
|
-
#line
|
4500
|
-
{
|
4627
|
+
#line 116 "hpricot_scan.rl"
|
4628
|
+
{
|
4501
4629
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4502
4630
|
else { SET(aval, p); }
|
4503
4631
|
}
|
4504
|
-
#line
|
4632
|
+
#line 120 "hpricot_scan.rl"
|
4505
4633
|
{ SET(akey, p); }
|
4506
|
-
#line
|
4507
|
-
{
|
4634
|
+
#line 134 "hpricot_scan.rl"
|
4635
|
+
{
|
4636
|
+
if (!S->xml)
|
4637
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4508
4638
|
ATTR(akey, aval);
|
4509
4639
|
}
|
4510
4640
|
#line 68 "hpricot_scan.rl"
|
@@ -4513,10 +4643,12 @@ tr290:
|
|
4513
4643
|
tr320:
|
4514
4644
|
#line 1 "hpricot_scan.rl"
|
4515
4645
|
{te = p+1;}
|
4516
|
-
#line
|
4646
|
+
#line 111 "hpricot_scan.rl"
|
4517
4647
|
{ mark_aval = p; }
|
4518
|
-
#line
|
4519
|
-
{
|
4648
|
+
#line 134 "hpricot_scan.rl"
|
4649
|
+
{
|
4650
|
+
if (!S->xml)
|
4651
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4520
4652
|
ATTR(akey, aval);
|
4521
4653
|
}
|
4522
4654
|
#line 68 "hpricot_scan.rl"
|
@@ -4526,7 +4658,7 @@ st211:
|
|
4526
4658
|
if ( ++p == pe )
|
4527
4659
|
goto _test_eof211;
|
4528
4660
|
case 211:
|
4529
|
-
#line
|
4661
|
+
#line 4662 "hpricot_scan.c"
|
4530
4662
|
switch( (*p) ) {
|
4531
4663
|
case 34: goto tr228;
|
4532
4664
|
case 39: goto tr174;
|
@@ -4534,14 +4666,14 @@ case 211:
|
|
4534
4666
|
}
|
4535
4667
|
goto st99;
|
4536
4668
|
tr321:
|
4537
|
-
#line
|
4669
|
+
#line 111 "hpricot_scan.rl"
|
4538
4670
|
{ mark_aval = p; }
|
4539
4671
|
goto st122;
|
4540
4672
|
st122:
|
4541
4673
|
if ( ++p == pe )
|
4542
4674
|
goto _test_eof122;
|
4543
4675
|
case 122:
|
4544
|
-
#line
|
4676
|
+
#line 4677 "hpricot_scan.c"
|
4545
4677
|
switch( (*p) ) {
|
4546
4678
|
case 34: goto tr299;
|
4547
4679
|
case 39: goto tr299;
|
@@ -4549,14 +4681,14 @@ case 122:
|
|
4549
4681
|
}
|
4550
4682
|
goto st99;
|
4551
4683
|
tr296:
|
4552
|
-
#line
|
4684
|
+
#line 120 "hpricot_scan.rl"
|
4553
4685
|
{ SET(akey, p); }
|
4554
4686
|
goto st123;
|
4555
4687
|
st123:
|
4556
4688
|
if ( ++p == pe )
|
4557
4689
|
goto _test_eof123;
|
4558
4690
|
case 123:
|
4559
|
-
#line
|
4691
|
+
#line 4692 "hpricot_scan.c"
|
4560
4692
|
switch( (*p) ) {
|
4561
4693
|
case 13: goto tr300;
|
4562
4694
|
case 32: goto tr300;
|
@@ -4574,14 +4706,14 @@ case 123:
|
|
4574
4706
|
goto tr300;
|
4575
4707
|
goto tr210;
|
4576
4708
|
tr300:
|
4577
|
-
#line
|
4709
|
+
#line 111 "hpricot_scan.rl"
|
4578
4710
|
{ mark_aval = p; }
|
4579
4711
|
goto st124;
|
4580
4712
|
st124:
|
4581
4713
|
if ( ++p == pe )
|
4582
4714
|
goto _test_eof124;
|
4583
4715
|
case 124:
|
4584
|
-
#line
|
4716
|
+
#line 4717 "hpricot_scan.c"
|
4585
4717
|
switch( (*p) ) {
|
4586
4718
|
case 13: goto tr305;
|
4587
4719
|
case 32: goto tr305;
|
@@ -4599,14 +4731,14 @@ case 124:
|
|
4599
4731
|
goto tr305;
|
4600
4732
|
goto tr210;
|
4601
4733
|
tr305:
|
4602
|
-
#line
|
4734
|
+
#line 111 "hpricot_scan.rl"
|
4603
4735
|
{ mark_aval = p; }
|
4604
4736
|
goto st125;
|
4605
4737
|
tr308:
|
4606
|
-
#line
|
4738
|
+
#line 111 "hpricot_scan.rl"
|
4607
4739
|
{ mark_aval = p; }
|
4608
|
-
#line
|
4609
|
-
{
|
4740
|
+
#line 116 "hpricot_scan.rl"
|
4741
|
+
{
|
4610
4742
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4611
4743
|
else { SET(aval, p); }
|
4612
4744
|
}
|
@@ -4615,7 +4747,7 @@ st125:
|
|
4615
4747
|
if ( ++p == pe )
|
4616
4748
|
goto _test_eof125;
|
4617
4749
|
case 125:
|
4618
|
-
#line
|
4750
|
+
#line 4751 "hpricot_scan.c"
|
4619
4751
|
switch( (*p) ) {
|
4620
4752
|
case 13: goto tr305;
|
4621
4753
|
case 32: goto tr305;
|
@@ -4644,14 +4776,14 @@ case 125:
|
|
4644
4776
|
goto tr307;
|
4645
4777
|
goto tr210;
|
4646
4778
|
tr306:
|
4647
|
-
#line
|
4779
|
+
#line 111 "hpricot_scan.rl"
|
4648
4780
|
{ mark_aval = p; }
|
4649
4781
|
goto st126;
|
4650
4782
|
tr309:
|
4651
|
-
#line
|
4783
|
+
#line 111 "hpricot_scan.rl"
|
4652
4784
|
{ mark_aval = p; }
|
4653
|
-
#line
|
4654
|
-
{
|
4785
|
+
#line 116 "hpricot_scan.rl"
|
4786
|
+
{
|
4655
4787
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4656
4788
|
else { SET(aval, p); }
|
4657
4789
|
}
|
@@ -4660,7 +4792,7 @@ st126:
|
|
4660
4792
|
if ( ++p == pe )
|
4661
4793
|
goto _test_eof126;
|
4662
4794
|
case 126:
|
4663
|
-
#line
|
4795
|
+
#line 4796 "hpricot_scan.c"
|
4664
4796
|
switch( (*p) ) {
|
4665
4797
|
case 13: goto tr308;
|
4666
4798
|
case 32: goto tr308;
|
@@ -4689,14 +4821,14 @@ case 126:
|
|
4689
4821
|
goto tr307;
|
4690
4822
|
goto tr210;
|
4691
4823
|
tr310:
|
4692
|
-
#line
|
4824
|
+
#line 115 "hpricot_scan.rl"
|
4693
4825
|
{ SET(aval, p); }
|
4694
4826
|
goto st127;
|
4695
4827
|
st127:
|
4696
4828
|
if ( ++p == pe )
|
4697
4829
|
goto _test_eof127;
|
4698
4830
|
case 127:
|
4699
|
-
#line
|
4831
|
+
#line 4832 "hpricot_scan.c"
|
4700
4832
|
switch( (*p) ) {
|
4701
4833
|
case 13: goto tr211;
|
4702
4834
|
case 32: goto tr211;
|
@@ -4725,70 +4857,82 @@ case 127:
|
|
4725
4857
|
goto tr307;
|
4726
4858
|
goto tr210;
|
4727
4859
|
tr304:
|
4728
|
-
#line
|
4860
|
+
#line 111 "hpricot_scan.rl"
|
4729
4861
|
{ mark_aval = p; }
|
4730
|
-
#line
|
4731
|
-
{
|
4862
|
+
#line 134 "hpricot_scan.rl"
|
4863
|
+
{
|
4864
|
+
if (!S->xml)
|
4865
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4732
4866
|
ATTR(akey, aval);
|
4733
4867
|
}
|
4734
4868
|
goto st128;
|
4735
4869
|
tr223:
|
4736
|
-
#line
|
4737
|
-
{
|
4870
|
+
#line 116 "hpricot_scan.rl"
|
4871
|
+
{
|
4738
4872
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4739
4873
|
else { SET(aval, p); }
|
4740
4874
|
}
|
4741
|
-
#line
|
4742
|
-
{
|
4875
|
+
#line 134 "hpricot_scan.rl"
|
4876
|
+
{
|
4877
|
+
if (!S->xml)
|
4878
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4743
4879
|
ATTR(akey, aval);
|
4744
4880
|
}
|
4745
4881
|
goto st128;
|
4746
4882
|
tr283:
|
4747
|
-
#line
|
4748
|
-
{
|
4883
|
+
#line 134 "hpricot_scan.rl"
|
4884
|
+
{
|
4885
|
+
if (!S->xml)
|
4886
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4749
4887
|
ATTR(akey, aval);
|
4750
4888
|
}
|
4751
|
-
#line
|
4752
|
-
{
|
4889
|
+
#line 116 "hpricot_scan.rl"
|
4890
|
+
{
|
4753
4891
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4754
4892
|
else { SET(aval, p); }
|
4755
4893
|
}
|
4756
4894
|
goto st128;
|
4757
4895
|
tr288:
|
4758
|
-
#line
|
4759
|
-
{
|
4896
|
+
#line 116 "hpricot_scan.rl"
|
4897
|
+
{
|
4760
4898
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4761
4899
|
else { SET(aval, p); }
|
4762
4900
|
}
|
4763
|
-
#line
|
4901
|
+
#line 120 "hpricot_scan.rl"
|
4764
4902
|
{ SET(akey, p); }
|
4765
|
-
#line
|
4766
|
-
{
|
4903
|
+
#line 134 "hpricot_scan.rl"
|
4904
|
+
{
|
4905
|
+
if (!S->xml)
|
4906
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4767
4907
|
ATTR(akey, aval);
|
4768
4908
|
}
|
4769
4909
|
goto st128;
|
4770
4910
|
tr215:
|
4771
|
-
#line
|
4911
|
+
#line 111 "hpricot_scan.rl"
|
4772
4912
|
{ mark_aval = p; }
|
4773
|
-
#line
|
4774
|
-
{
|
4913
|
+
#line 116 "hpricot_scan.rl"
|
4914
|
+
{
|
4775
4915
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4776
4916
|
else { SET(aval, p); }
|
4777
4917
|
}
|
4778
|
-
#line
|
4779
|
-
{
|
4918
|
+
#line 134 "hpricot_scan.rl"
|
4919
|
+
{
|
4920
|
+
if (!S->xml)
|
4921
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4780
4922
|
ATTR(akey, aval);
|
4781
4923
|
}
|
4782
4924
|
goto st128;
|
4783
4925
|
tr312:
|
4784
|
-
#line
|
4926
|
+
#line 111 "hpricot_scan.rl"
|
4785
4927
|
{ mark_aval = p; }
|
4786
|
-
#line
|
4787
|
-
{
|
4928
|
+
#line 134 "hpricot_scan.rl"
|
4929
|
+
{
|
4930
|
+
if (!S->xml)
|
4931
|
+
akey = rb_funcall(akey, s_downcase, 0);
|
4788
4932
|
ATTR(akey, aval);
|
4789
4933
|
}
|
4790
|
-
#line
|
4791
|
-
{
|
4934
|
+
#line 116 "hpricot_scan.rl"
|
4935
|
+
{
|
4792
4936
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4793
4937
|
else { SET(aval, p); }
|
4794
4938
|
}
|
@@ -4797,7 +4941,7 @@ st128:
|
|
4797
4941
|
if ( ++p == pe )
|
4798
4942
|
goto _test_eof128;
|
4799
4943
|
case 128:
|
4800
|
-
#line
|
4944
|
+
#line 4945 "hpricot_scan.c"
|
4801
4945
|
switch( (*p) ) {
|
4802
4946
|
case 13: goto tr220;
|
4803
4947
|
case 32: goto tr220;
|
@@ -4815,14 +4959,14 @@ case 128:
|
|
4815
4959
|
goto tr220;
|
4816
4960
|
goto st97;
|
4817
4961
|
tr218:
|
4818
|
-
#line
|
4962
|
+
#line 111 "hpricot_scan.rl"
|
4819
4963
|
{ mark_aval = p; }
|
4820
4964
|
goto st129;
|
4821
4965
|
st129:
|
4822
4966
|
if ( ++p == pe )
|
4823
4967
|
goto _test_eof129;
|
4824
4968
|
case 129:
|
4825
|
-
#line
|
4969
|
+
#line 4970 "hpricot_scan.c"
|
4826
4970
|
switch( (*p) ) {
|
4827
4971
|
case 13: goto tr220;
|
4828
4972
|
case 32: goto tr220;
|
@@ -4840,14 +4984,14 @@ case 129:
|
|
4840
4984
|
goto tr220;
|
4841
4985
|
goto st97;
|
4842
4986
|
tr311:
|
4843
|
-
#line
|
4987
|
+
#line 115 "hpricot_scan.rl"
|
4844
4988
|
{ SET(aval, p); }
|
4845
4989
|
goto st130;
|
4846
4990
|
st130:
|
4847
4991
|
if ( ++p == pe )
|
4848
4992
|
goto _test_eof130;
|
4849
4993
|
case 130:
|
4850
|
-
#line
|
4994
|
+
#line 4995 "hpricot_scan.c"
|
4851
4995
|
switch( (*p) ) {
|
4852
4996
|
case 13: goto tr211;
|
4853
4997
|
case 32: goto tr211;
|
@@ -4876,14 +5020,14 @@ case 130:
|
|
4876
5020
|
goto tr307;
|
4877
5021
|
goto tr210;
|
4878
5022
|
tr302:
|
4879
|
-
#line
|
5023
|
+
#line 115 "hpricot_scan.rl"
|
4880
5024
|
{ SET(aval, p); }
|
4881
5025
|
goto st131;
|
4882
5026
|
st131:
|
4883
5027
|
if ( ++p == pe )
|
4884
5028
|
goto _test_eof131;
|
4885
5029
|
case 131:
|
4886
|
-
#line
|
5030
|
+
#line 5031 "hpricot_scan.c"
|
4887
5031
|
switch( (*p) ) {
|
4888
5032
|
case 32: goto tr315;
|
4889
5033
|
case 34: goto tr316;
|
@@ -4907,14 +5051,14 @@ case 131:
|
|
4907
5051
|
goto tr318;
|
4908
5052
|
goto tr216;
|
4909
5053
|
tr303:
|
4910
|
-
#line
|
5054
|
+
#line 115 "hpricot_scan.rl"
|
4911
5055
|
{ SET(aval, p); }
|
4912
5056
|
goto st132;
|
4913
5057
|
st132:
|
4914
5058
|
if ( ++p == pe )
|
4915
5059
|
goto _test_eof132;
|
4916
5060
|
case 132:
|
4917
|
-
#line
|
5061
|
+
#line 5062 "hpricot_scan.c"
|
4918
5062
|
switch( (*p) ) {
|
4919
5063
|
case 32: goto tr315;
|
4920
5064
|
case 34: goto tr322;
|
@@ -4938,18 +5082,18 @@ case 132:
|
|
4938
5082
|
goto tr318;
|
4939
5083
|
goto tr216;
|
4940
5084
|
tr301:
|
4941
|
-
#line
|
5085
|
+
#line 111 "hpricot_scan.rl"
|
4942
5086
|
{ mark_aval = p; }
|
4943
5087
|
goto st133;
|
4944
5088
|
tr289:
|
4945
|
-
#line
|
5089
|
+
#line 120 "hpricot_scan.rl"
|
4946
5090
|
{ SET(akey, p); }
|
4947
5091
|
goto st133;
|
4948
5092
|
st133:
|
4949
5093
|
if ( ++p == pe )
|
4950
5094
|
goto _test_eof133;
|
4951
5095
|
case 133:
|
4952
|
-
#line
|
5096
|
+
#line 5097 "hpricot_scan.c"
|
4953
5097
|
switch( (*p) ) {
|
4954
5098
|
case 13: goto tr308;
|
4955
5099
|
case 32: goto tr308;
|
@@ -4967,17 +5111,17 @@ case 133:
|
|
4967
5111
|
goto tr308;
|
4968
5112
|
goto tr210;
|
4969
5113
|
tr324:
|
4970
|
-
#line
|
4971
|
-
{
|
5114
|
+
#line 116 "hpricot_scan.rl"
|
5115
|
+
{
|
4972
5116
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4973
5117
|
else { SET(aval, p); }
|
4974
5118
|
}
|
4975
5119
|
goto st134;
|
4976
5120
|
tr286:
|
4977
|
-
#line
|
5121
|
+
#line 120 "hpricot_scan.rl"
|
4978
5122
|
{ SET(akey, p); }
|
4979
|
-
#line
|
4980
|
-
{
|
5123
|
+
#line 116 "hpricot_scan.rl"
|
5124
|
+
{
|
4981
5125
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4982
5126
|
else { SET(aval, p); }
|
4983
5127
|
}
|
@@ -4986,7 +5130,7 @@ st134:
|
|
4986
5130
|
if ( ++p == pe )
|
4987
5131
|
goto _test_eof134;
|
4988
5132
|
case 134:
|
4989
|
-
#line
|
5133
|
+
#line 5134 "hpricot_scan.c"
|
4990
5134
|
switch( (*p) ) {
|
4991
5135
|
case 13: goto tr323;
|
4992
5136
|
case 32: goto tr323;
|
@@ -5016,14 +5160,14 @@ case 134:
|
|
5016
5160
|
goto tr282;
|
5017
5161
|
goto st97;
|
5018
5162
|
tr275:
|
5019
|
-
#line
|
5163
|
+
#line 115 "hpricot_scan.rl"
|
5020
5164
|
{ SET(aval, p); }
|
5021
5165
|
goto st135;
|
5022
5166
|
st135:
|
5023
5167
|
if ( ++p == pe )
|
5024
5168
|
goto _test_eof135;
|
5025
5169
|
case 135:
|
5026
|
-
#line
|
5170
|
+
#line 5171 "hpricot_scan.c"
|
5027
5171
|
switch( (*p) ) {
|
5028
5172
|
case 13: goto tr326;
|
5029
5173
|
case 32: goto tr326;
|
@@ -5061,14 +5205,14 @@ case 136:
|
|
5061
5205
|
}
|
5062
5206
|
goto tr216;
|
5063
5207
|
tr251:
|
5064
|
-
#line
|
5208
|
+
#line 115 "hpricot_scan.rl"
|
5065
5209
|
{ SET(aval, p); }
|
5066
5210
|
goto st137;
|
5067
5211
|
st137:
|
5068
5212
|
if ( ++p == pe )
|
5069
5213
|
goto _test_eof137;
|
5070
5214
|
case 137:
|
5071
|
-
#line
|
5215
|
+
#line 5216 "hpricot_scan.c"
|
5072
5216
|
switch( (*p) ) {
|
5073
5217
|
case 32: goto tr330;
|
5074
5218
|
case 39: goto tr331;
|
@@ -5091,14 +5235,14 @@ case 137:
|
|
5091
5235
|
goto tr332;
|
5092
5236
|
goto tr328;
|
5093
5237
|
tr248:
|
5094
|
-
#line
|
5238
|
+
#line 111 "hpricot_scan.rl"
|
5095
5239
|
{ mark_aval = p; }
|
5096
5240
|
goto st138;
|
5097
5241
|
st138:
|
5098
5242
|
if ( ++p == pe )
|
5099
5243
|
goto _test_eof138;
|
5100
5244
|
case 138:
|
5101
|
-
#line
|
5245
|
+
#line 5246 "hpricot_scan.c"
|
5102
5246
|
switch( (*p) ) {
|
5103
5247
|
case 13: goto tr277;
|
5104
5248
|
case 32: goto tr277;
|
@@ -5116,14 +5260,14 @@ case 138:
|
|
5116
5260
|
goto tr277;
|
5117
5261
|
goto tr247;
|
5118
5262
|
tr185:
|
5119
|
-
#line
|
5263
|
+
#line 115 "hpricot_scan.rl"
|
5120
5264
|
{ SET(aval, p); }
|
5121
5265
|
goto st139;
|
5122
5266
|
st139:
|
5123
5267
|
if ( ++p == pe )
|
5124
5268
|
goto _test_eof139;
|
5125
5269
|
case 139:
|
5126
|
-
#line
|
5270
|
+
#line 5271 "hpricot_scan.c"
|
5127
5271
|
switch( (*p) ) {
|
5128
5272
|
case 32: goto tr336;
|
5129
5273
|
case 34: goto tr331;
|
@@ -5193,14 +5337,14 @@ case 143:
|
|
5193
5337
|
}
|
5194
5338
|
goto tr328;
|
5195
5339
|
tr120:
|
5196
|
-
#line
|
5340
|
+
#line 111 "hpricot_scan.rl"
|
5197
5341
|
{ mark_aval = p; }
|
5198
5342
|
goto st144;
|
5199
5343
|
st144:
|
5200
5344
|
if ( ++p == pe )
|
5201
5345
|
goto _test_eof144;
|
5202
5346
|
case 144:
|
5203
|
-
#line
|
5347
|
+
#line 5348 "hpricot_scan.c"
|
5204
5348
|
switch( (*p) ) {
|
5205
5349
|
case 13: goto tr148;
|
5206
5350
|
case 32: goto tr148;
|
@@ -5239,7 +5383,7 @@ st146:
|
|
5239
5383
|
if ( ++p == pe )
|
5240
5384
|
goto _test_eof146;
|
5241
5385
|
case 146:
|
5242
|
-
#line
|
5386
|
+
#line 5387 "hpricot_scan.c"
|
5243
5387
|
switch( (*p) ) {
|
5244
5388
|
case 32: goto st212;
|
5245
5389
|
case 63: goto st146;
|
@@ -5277,7 +5421,7 @@ st147:
|
|
5277
5421
|
if ( ++p == pe )
|
5278
5422
|
goto _test_eof147;
|
5279
5423
|
case 147:
|
5280
|
-
#line
|
5424
|
+
#line 5425 "hpricot_scan.c"
|
5281
5425
|
switch( (*p) ) {
|
5282
5426
|
case 32: goto st212;
|
5283
5427
|
case 63: goto st146;
|
@@ -5356,7 +5500,7 @@ st213:
|
|
5356
5500
|
if ( ++p == pe )
|
5357
5501
|
goto _test_eof213;
|
5358
5502
|
case 213:
|
5359
|
-
#line
|
5503
|
+
#line 5504 "hpricot_scan.c"
|
5360
5504
|
switch( (*p) ) {
|
5361
5505
|
case 32: goto tr348;
|
5362
5506
|
case 118: goto st150;
|
@@ -5448,14 +5592,14 @@ case 158:
|
|
5448
5592
|
goto tr359;
|
5449
5593
|
goto tr349;
|
5450
5594
|
tr359:
|
5451
|
-
#line
|
5595
|
+
#line 111 "hpricot_scan.rl"
|
5452
5596
|
{ mark_aval = p; }
|
5453
5597
|
goto st159;
|
5454
5598
|
st159:
|
5455
5599
|
if ( ++p == pe )
|
5456
5600
|
goto _test_eof159;
|
5457
5601
|
case 159:
|
5458
|
-
#line
|
5602
|
+
#line 5603 "hpricot_scan.c"
|
5459
5603
|
switch( (*p) ) {
|
5460
5604
|
case 34: goto tr360;
|
5461
5605
|
case 95: goto st159;
|
@@ -5473,14 +5617,14 @@ case 159:
|
|
5473
5617
|
goto st159;
|
5474
5618
|
goto tr349;
|
5475
5619
|
tr360:
|
5476
|
-
#line
|
5620
|
+
#line 121 "hpricot_scan.rl"
|
5477
5621
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("version")), aval); }
|
5478
5622
|
goto st160;
|
5479
5623
|
st160:
|
5480
5624
|
if ( ++p == pe )
|
5481
5625
|
goto _test_eof160;
|
5482
5626
|
case 160:
|
5483
|
-
#line
|
5627
|
+
#line 5628 "hpricot_scan.c"
|
5484
5628
|
switch( (*p) ) {
|
5485
5629
|
case 32: goto st161;
|
5486
5630
|
case 62: goto tr363;
|
@@ -5593,14 +5737,14 @@ case 172:
|
|
5593
5737
|
goto tr377;
|
5594
5738
|
goto tr349;
|
5595
5739
|
tr377:
|
5596
|
-
#line
|
5740
|
+
#line 111 "hpricot_scan.rl"
|
5597
5741
|
{ mark_aval = p; }
|
5598
5742
|
goto st173;
|
5599
5743
|
st173:
|
5600
5744
|
if ( ++p == pe )
|
5601
5745
|
goto _test_eof173;
|
5602
5746
|
case 173:
|
5603
|
-
#line
|
5747
|
+
#line 5748 "hpricot_scan.c"
|
5604
5748
|
switch( (*p) ) {
|
5605
5749
|
case 34: goto tr378;
|
5606
5750
|
case 95: goto st173;
|
@@ -5618,14 +5762,14 @@ case 173:
|
|
5618
5762
|
goto st173;
|
5619
5763
|
goto tr349;
|
5620
5764
|
tr378:
|
5621
|
-
#line
|
5765
|
+
#line 122 "hpricot_scan.rl"
|
5622
5766
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("encoding")), aval); }
|
5623
5767
|
goto st174;
|
5624
5768
|
st174:
|
5625
5769
|
if ( ++p == pe )
|
5626
5770
|
goto _test_eof174;
|
5627
5771
|
case 174:
|
5628
|
-
#line
|
5772
|
+
#line 5773 "hpricot_scan.c"
|
5629
5773
|
switch( (*p) ) {
|
5630
5774
|
case 32: goto st175;
|
5631
5775
|
case 62: goto tr363;
|
@@ -5743,14 +5887,14 @@ case 187:
|
|
5743
5887
|
}
|
5744
5888
|
goto tr349;
|
5745
5889
|
tr393:
|
5746
|
-
#line
|
5890
|
+
#line 111 "hpricot_scan.rl"
|
5747
5891
|
{ mark_aval = p; }
|
5748
5892
|
goto st188;
|
5749
5893
|
st188:
|
5750
5894
|
if ( ++p == pe )
|
5751
5895
|
goto _test_eof188;
|
5752
5896
|
case 188:
|
5753
|
-
#line
|
5897
|
+
#line 5898 "hpricot_scan.c"
|
5754
5898
|
if ( (*p) == 111 )
|
5755
5899
|
goto st189;
|
5756
5900
|
goto tr349;
|
@@ -5762,14 +5906,14 @@ case 189:
|
|
5762
5906
|
goto tr396;
|
5763
5907
|
goto tr349;
|
5764
5908
|
tr396:
|
5765
|
-
#line
|
5909
|
+
#line 123 "hpricot_scan.rl"
|
5766
5910
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("standalone")), aval); }
|
5767
5911
|
goto st190;
|
5768
5912
|
st190:
|
5769
5913
|
if ( ++p == pe )
|
5770
5914
|
goto _test_eof190;
|
5771
5915
|
case 190:
|
5772
|
-
#line
|
5916
|
+
#line 5917 "hpricot_scan.c"
|
5773
5917
|
switch( (*p) ) {
|
5774
5918
|
case 32: goto st190;
|
5775
5919
|
case 62: goto tr363;
|
@@ -5779,14 +5923,14 @@ case 190:
|
|
5779
5923
|
goto st190;
|
5780
5924
|
goto tr349;
|
5781
5925
|
tr394:
|
5782
|
-
#line
|
5926
|
+
#line 111 "hpricot_scan.rl"
|
5783
5927
|
{ mark_aval = p; }
|
5784
5928
|
goto st191;
|
5785
5929
|
st191:
|
5786
5930
|
if ( ++p == pe )
|
5787
5931
|
goto _test_eof191;
|
5788
5932
|
case 191:
|
5789
|
-
#line
|
5933
|
+
#line 5934 "hpricot_scan.c"
|
5790
5934
|
if ( (*p) == 101 )
|
5791
5935
|
goto st192;
|
5792
5936
|
goto tr349;
|
@@ -5807,14 +5951,14 @@ case 193:
|
|
5807
5951
|
}
|
5808
5952
|
goto tr349;
|
5809
5953
|
tr399:
|
5810
|
-
#line
|
5954
|
+
#line 111 "hpricot_scan.rl"
|
5811
5955
|
{ mark_aval = p; }
|
5812
5956
|
goto st194;
|
5813
5957
|
st194:
|
5814
5958
|
if ( ++p == pe )
|
5815
5959
|
goto _test_eof194;
|
5816
5960
|
case 194:
|
5817
|
-
#line
|
5961
|
+
#line 5962 "hpricot_scan.c"
|
5818
5962
|
if ( (*p) == 111 )
|
5819
5963
|
goto st195;
|
5820
5964
|
goto tr349;
|
@@ -5826,14 +5970,14 @@ case 195:
|
|
5826
5970
|
goto tr396;
|
5827
5971
|
goto tr349;
|
5828
5972
|
tr400:
|
5829
|
-
#line
|
5973
|
+
#line 111 "hpricot_scan.rl"
|
5830
5974
|
{ mark_aval = p; }
|
5831
5975
|
goto st196;
|
5832
5976
|
st196:
|
5833
5977
|
if ( ++p == pe )
|
5834
5978
|
goto _test_eof196;
|
5835
5979
|
case 196:
|
5836
|
-
#line
|
5980
|
+
#line 5981 "hpricot_scan.c"
|
5837
5981
|
if ( (*p) == 101 )
|
5838
5982
|
goto st197;
|
5839
5983
|
goto tr349;
|
@@ -5855,14 +5999,14 @@ case 198:
|
|
5855
5999
|
goto tr403;
|
5856
6000
|
goto tr349;
|
5857
6001
|
tr403:
|
5858
|
-
#line
|
6002
|
+
#line 111 "hpricot_scan.rl"
|
5859
6003
|
{ mark_aval = p; }
|
5860
6004
|
goto st199;
|
5861
6005
|
st199:
|
5862
6006
|
if ( ++p == pe )
|
5863
6007
|
goto _test_eof199;
|
5864
6008
|
case 199:
|
5865
|
-
#line
|
6009
|
+
#line 6010 "hpricot_scan.c"
|
5866
6010
|
switch( (*p) ) {
|
5867
6011
|
case 39: goto tr378;
|
5868
6012
|
case 95: goto st199;
|
@@ -5898,14 +6042,14 @@ case 200:
|
|
5898
6042
|
goto tr405;
|
5899
6043
|
goto tr349;
|
5900
6044
|
tr405:
|
5901
|
-
#line
|
6045
|
+
#line 111 "hpricot_scan.rl"
|
5902
6046
|
{ mark_aval = p; }
|
5903
6047
|
goto st201;
|
5904
6048
|
st201:
|
5905
6049
|
if ( ++p == pe )
|
5906
6050
|
goto _test_eof201;
|
5907
6051
|
case 201:
|
5908
|
-
#line
|
6052
|
+
#line 6053 "hpricot_scan.c"
|
5909
6053
|
switch( (*p) ) {
|
5910
6054
|
case 39: goto tr360;
|
5911
6055
|
case 95: goto st201;
|
@@ -5954,7 +6098,7 @@ st214:
|
|
5954
6098
|
case 214:
|
5955
6099
|
#line 1 "hpricot_scan.rl"
|
5956
6100
|
{ts = p;}
|
5957
|
-
#line
|
6101
|
+
#line 6102 "hpricot_scan.c"
|
5958
6102
|
switch( (*p) ) {
|
5959
6103
|
case 10: goto tr423;
|
5960
6104
|
case 45: goto tr424;
|
@@ -5968,7 +6112,7 @@ st215:
|
|
5968
6112
|
if ( ++p == pe )
|
5969
6113
|
goto _test_eof215;
|
5970
6114
|
case 215:
|
5971
|
-
#line
|
6115
|
+
#line 6116 "hpricot_scan.c"
|
5972
6116
|
if ( (*p) == 45 )
|
5973
6117
|
goto st202;
|
5974
6118
|
goto tr425;
|
@@ -6011,7 +6155,7 @@ st216:
|
|
6011
6155
|
case 216:
|
6012
6156
|
#line 1 "hpricot_scan.rl"
|
6013
6157
|
{ts = p;}
|
6014
|
-
#line
|
6158
|
+
#line 6159 "hpricot_scan.c"
|
6015
6159
|
switch( (*p) ) {
|
6016
6160
|
case 10: goto tr428;
|
6017
6161
|
case 93: goto tr429;
|
@@ -6025,7 +6169,7 @@ st217:
|
|
6025
6169
|
if ( ++p == pe )
|
6026
6170
|
goto _test_eof217;
|
6027
6171
|
case 217:
|
6028
|
-
#line
|
6172
|
+
#line 6173 "hpricot_scan.c"
|
6029
6173
|
if ( (*p) == 93 )
|
6030
6174
|
goto st203;
|
6031
6175
|
goto tr430;
|
@@ -6064,7 +6208,7 @@ st218:
|
|
6064
6208
|
case 218:
|
6065
6209
|
#line 1 "hpricot_scan.rl"
|
6066
6210
|
{ts = p;}
|
6067
|
-
#line
|
6211
|
+
#line 6212 "hpricot_scan.c"
|
6068
6212
|
switch( (*p) ) {
|
6069
6213
|
case 10: goto tr433;
|
6070
6214
|
case 62: goto tr434;
|
@@ -6524,11 +6668,12 @@ case 219:
|
|
6524
6668
|
}
|
6525
6669
|
|
6526
6670
|
}
|
6527
|
-
#line
|
6528
|
-
|
6529
|
-
if (
|
6530
|
-
|
6531
|
-
|
6671
|
+
#line 534 "hpricot_scan.rl"
|
6672
|
+
|
6673
|
+
if (cs == hpricot_scan_error) {
|
6674
|
+
if (buf != NULL)
|
6675
|
+
free(buf);
|
6676
|
+
if (!NIL_P(tag))
|
6532
6677
|
{
|
6533
6678
|
rb_raise(rb_eHpricotParseError, "parse error on element <%s>, starting on line %d.\n" NO_WAY_SERIOUSLY, RSTRING_PTR(tag), curline);
|
6534
6679
|
}
|
@@ -6537,8 +6682,8 @@ case 219:
|
|
6537
6682
|
rb_raise(rb_eHpricotParseError, "parse error on line %d.\n" NO_WAY_SERIOUSLY, curline);
|
6538
6683
|
}
|
6539
6684
|
}
|
6540
|
-
|
6541
|
-
if (
|
6685
|
+
|
6686
|
+
if (done && ele_open)
|
6542
6687
|
{
|
6543
6688
|
ele_open = 0;
|
6544
6689
|
if (ts > 0) {
|
@@ -6548,11 +6693,11 @@ case 219:
|
|
6548
6693
|
}
|
6549
6694
|
}
|
6550
6695
|
|
6551
|
-
if (
|
6696
|
+
if (ts == 0)
|
6552
6697
|
{
|
6553
6698
|
have = 0;
|
6554
6699
|
/* text nodes have no ts because each byte is parsed alone */
|
6555
|
-
if (
|
6700
|
+
if (mark_tag != NULL && text == 1)
|
6556
6701
|
{
|
6557
6702
|
if (done)
|
6558
6703
|
{
|
@@ -6567,12 +6712,15 @@ case 219:
|
|
6567
6712
|
CAT(tag, p);
|
6568
6713
|
}
|
6569
6714
|
}
|
6570
|
-
|
6715
|
+
if (io)
|
6716
|
+
mark_tag = buf;
|
6717
|
+
else
|
6718
|
+
mark_tag = RSTRING_PTR(port);
|
6571
6719
|
}
|
6572
|
-
else
|
6720
|
+
else if (io)
|
6573
6721
|
{
|
6574
6722
|
have = pe - ts;
|
6575
|
-
memmove(
|
6723
|
+
memmove(buf, ts, have);
|
6576
6724
|
SLIDE(tag);
|
6577
6725
|
SLIDE(akey);
|
6578
6726
|
SLIDE(aval);
|
@@ -6580,7 +6728,9 @@ case 219:
|
|
6580
6728
|
ts = buf;
|
6581
6729
|
}
|
6582
6730
|
}
|
6583
|
-
|
6731
|
+
|
6732
|
+
if (buf != NULL)
|
6733
|
+
free(buf);
|
6584
6734
|
|
6585
6735
|
if (S != NULL)
|
6586
6736
|
{
|
@@ -6593,66 +6743,103 @@ case 219:
|
|
6593
6743
|
return Qnil;
|
6594
6744
|
}
|
6595
6745
|
|
6596
|
-
|
6746
|
+
static VALUE
|
6747
|
+
alloc_hpricot_struct(VALUE klass)
|
6597
6748
|
{
|
6598
|
-
|
6599
|
-
|
6600
|
-
|
6601
|
-
|
6602
|
-
rb_eHpricotParseError = rb_define_class_under(mHpricot, "ParseError", rb_eStandardError);
|
6749
|
+
VALUE size;
|
6750
|
+
long n;
|
6751
|
+
NEWOBJ(st, struct RStruct);
|
6752
|
+
OBJSETUP(st, klass, T_STRUCT);
|
6603
6753
|
|
6604
|
-
|
6605
|
-
|
6606
|
-
rb_define_method(cDoc, "children", hpricot_ele_get_children, 0);
|
6607
|
-
rb_define_method(cDoc, "children=", hpricot_ele_set_children, 1);
|
6754
|
+
size = rb_struct_iv_get(klass, "__size__");
|
6755
|
+
n = FIX2LONG(size);
|
6608
6756
|
|
6609
|
-
|
6610
|
-
|
6611
|
-
|
6612
|
-
|
6613
|
-
|
6614
|
-
|
6615
|
-
|
6616
|
-
|
6617
|
-
|
6618
|
-
|
6619
|
-
|
6620
|
-
|
6621
|
-
|
6622
|
-
|
6623
|
-
|
6624
|
-
|
6625
|
-
|
6626
|
-
|
6627
|
-
|
6628
|
-
|
6629
|
-
|
6630
|
-
|
6631
|
-
|
6632
|
-
|
6633
|
-
|
6634
|
-
|
6635
|
-
|
6636
|
-
|
6637
|
-
|
6638
|
-
|
6639
|
-
|
6640
|
-
|
6641
|
-
|
6642
|
-
|
6643
|
-
|
6644
|
-
|
6645
|
-
|
6646
|
-
|
6647
|
-
|
6648
|
-
|
6649
|
-
|
6650
|
-
|
6651
|
-
|
6652
|
-
|
6653
|
-
|
6654
|
-
|
6655
|
-
|
6757
|
+
#ifndef RSTRUCT_EMBED_LEN_MAX
|
6758
|
+
st->ptr = ALLOC_N(VALUE, n);
|
6759
|
+
rb_mem_clear(st->ptr, n);
|
6760
|
+
st->len = n;
|
6761
|
+
#else
|
6762
|
+
if (0 < n && n <= RSTRUCT_EMBED_LEN_MAX) {
|
6763
|
+
RBASIC(st)->flags &= ~RSTRUCT_EMBED_LEN_MASK;
|
6764
|
+
RBASIC(st)->flags |= n << RSTRUCT_EMBED_LEN_SHIFT;
|
6765
|
+
rb_mem_clear(st->as.ary, n);
|
6766
|
+
} else {
|
6767
|
+
st->as.heap.ptr = ALLOC_N(VALUE, n);
|
6768
|
+
rb_mem_clear(st->as.heap.ptr, n);
|
6769
|
+
st->as.heap.len = n;
|
6770
|
+
}
|
6771
|
+
#endif
|
6772
|
+
|
6773
|
+
return (VALUE)st;
|
6774
|
+
}
|
6775
|
+
|
6776
|
+
static VALUE hpricot_struct_ref0(VALUE obj) {return H_ELE_GET(obj, 0);}
|
6777
|
+
static VALUE hpricot_struct_ref1(VALUE obj) {return H_ELE_GET(obj, 1);}
|
6778
|
+
static VALUE hpricot_struct_ref2(VALUE obj) {return H_ELE_GET(obj, 2);}
|
6779
|
+
static VALUE hpricot_struct_ref3(VALUE obj) {return H_ELE_GET(obj, 3);}
|
6780
|
+
static VALUE hpricot_struct_ref4(VALUE obj) {return H_ELE_GET(obj, 4);}
|
6781
|
+
static VALUE hpricot_struct_ref5(VALUE obj) {return H_ELE_GET(obj, 5);}
|
6782
|
+
static VALUE hpricot_struct_ref6(VALUE obj) {return H_ELE_GET(obj, 6);}
|
6783
|
+
static VALUE hpricot_struct_ref7(VALUE obj) {return H_ELE_GET(obj, 7);}
|
6784
|
+
static VALUE hpricot_struct_ref8(VALUE obj) {return H_ELE_GET(obj, 8);}
|
6785
|
+
static VALUE hpricot_struct_ref9(VALUE obj) {return H_ELE_GET(obj, 9);}
|
6786
|
+
|
6787
|
+
static VALUE (*ref_func[10])() = {
|
6788
|
+
hpricot_struct_ref0,
|
6789
|
+
hpricot_struct_ref1,
|
6790
|
+
hpricot_struct_ref2,
|
6791
|
+
hpricot_struct_ref3,
|
6792
|
+
hpricot_struct_ref4,
|
6793
|
+
hpricot_struct_ref5,
|
6794
|
+
hpricot_struct_ref6,
|
6795
|
+
hpricot_struct_ref7,
|
6796
|
+
hpricot_struct_ref8,
|
6797
|
+
hpricot_struct_ref9,
|
6798
|
+
};
|
6799
|
+
|
6800
|
+
static VALUE hpricot_struct_set0(VALUE obj, VALUE val) {return H_ELE_SET(obj, 0, val);}
|
6801
|
+
static VALUE hpricot_struct_set1(VALUE obj, VALUE val) {return H_ELE_SET(obj, 1, val);}
|
6802
|
+
static VALUE hpricot_struct_set2(VALUE obj, VALUE val) {return H_ELE_SET(obj, 2, val);}
|
6803
|
+
static VALUE hpricot_struct_set3(VALUE obj, VALUE val) {return H_ELE_SET(obj, 3, val);}
|
6804
|
+
static VALUE hpricot_struct_set4(VALUE obj, VALUE val) {return H_ELE_SET(obj, 4, val);}
|
6805
|
+
static VALUE hpricot_struct_set5(VALUE obj, VALUE val) {return H_ELE_SET(obj, 5, val);}
|
6806
|
+
static VALUE hpricot_struct_set6(VALUE obj, VALUE val) {return H_ELE_SET(obj, 6, val);}
|
6807
|
+
static VALUE hpricot_struct_set7(VALUE obj, VALUE val) {return H_ELE_SET(obj, 7, val);}
|
6808
|
+
static VALUE hpricot_struct_set8(VALUE obj, VALUE val) {return H_ELE_SET(obj, 8, val);}
|
6809
|
+
static VALUE hpricot_struct_set9(VALUE obj, VALUE val) {return H_ELE_SET(obj, 9, val);}
|
6810
|
+
|
6811
|
+
static VALUE (*set_func[10])() = {
|
6812
|
+
hpricot_struct_set0,
|
6813
|
+
hpricot_struct_set1,
|
6814
|
+
hpricot_struct_set2,
|
6815
|
+
hpricot_struct_set3,
|
6816
|
+
hpricot_struct_set4,
|
6817
|
+
hpricot_struct_set5,
|
6818
|
+
hpricot_struct_set6,
|
6819
|
+
hpricot_struct_set7,
|
6820
|
+
hpricot_struct_set8,
|
6821
|
+
hpricot_struct_set9,
|
6822
|
+
};
|
6823
|
+
|
6824
|
+
static VALUE
|
6825
|
+
make_hpricot_struct(VALUE members)
|
6826
|
+
{
|
6827
|
+
int i = 0;
|
6828
|
+
VALUE klass = rb_class_new(rb_cObject);
|
6829
|
+
rb_iv_set(klass, "__size__", INT2NUM(RARRAY_LEN(members)));
|
6830
|
+
rb_define_alloc_func(klass, alloc_hpricot_struct);
|
6831
|
+
rb_define_singleton_method(klass, "new", rb_class_new_instance, -1);
|
6832
|
+
for (i = 0; i < RARRAY_LEN(members); i++) {
|
6833
|
+
ID id = SYM2ID(RARRAY_PTR(members)[i]);
|
6834
|
+
rb_define_method_id(klass, id, ref_func[i], 0);
|
6835
|
+
rb_define_method_id(klass, rb_id_attrset(id), set_func[i], 1);
|
6836
|
+
}
|
6837
|
+
return klass;
|
6838
|
+
}
|
6839
|
+
|
6840
|
+
void Init_hpricot_scan()
|
6841
|
+
{
|
6842
|
+
VALUE structElem, structAttr, structBasic;
|
6656
6843
|
|
6657
6844
|
s_ElementContent = rb_intern("ElementContent");
|
6658
6845
|
symAllow = ID2SYM(rb_intern("allow"));
|
@@ -6662,19 +6849,78 @@ void Init_hpricot_scan()
|
|
6662
6849
|
s_parent = rb_intern("parent");
|
6663
6850
|
s_read = rb_intern("read");
|
6664
6851
|
s_to_str = rb_intern("to_str");
|
6665
|
-
iv_parent = rb_intern("parent");
|
6666
6852
|
sym_xmldecl = ID2SYM(rb_intern("xmldecl"));
|
6667
6853
|
sym_doctype = ID2SYM(rb_intern("doctype"));
|
6668
6854
|
sym_procins = ID2SYM(rb_intern("procins"));
|
6669
6855
|
sym_stag = ID2SYM(rb_intern("stag"));
|
6670
6856
|
sym_etag = ID2SYM(rb_intern("etag"));
|
6671
6857
|
sym_emptytag = ID2SYM(rb_intern("emptytag"));
|
6858
|
+
sym_allowed = ID2SYM(rb_intern("allowed"));
|
6859
|
+
sym_children = ID2SYM(rb_intern("children"));
|
6672
6860
|
sym_comment = ID2SYM(rb_intern("comment"));
|
6673
6861
|
sym_cdata = ID2SYM(rb_intern("cdata"));
|
6862
|
+
sym_name = ID2SYM(rb_intern("name"));
|
6863
|
+
sym_parent = ID2SYM(rb_intern("parent"));
|
6864
|
+
sym_raw_attributes = ID2SYM(rb_intern("raw_attributes"));
|
6865
|
+
sym_raw_string = ID2SYM(rb_intern("raw_string"));
|
6866
|
+
sym_tagno = ID2SYM(rb_intern("tagno"));
|
6674
6867
|
sym_text = ID2SYM(rb_intern("text"));
|
6675
6868
|
sym_EMPTY = ID2SYM(rb_intern("EMPTY"));
|
6676
6869
|
sym_CDATA = ID2SYM(rb_intern("CDATA"));
|
6677
6870
|
|
6871
|
+
mHpricot = rb_define_module("Hpricot");
|
6872
|
+
rb_define_attr(rb_singleton_class(mHpricot), "buffer_size", 1, 1);
|
6873
|
+
rb_define_singleton_method(mHpricot, "scan", hpricot_scan, -1);
|
6874
|
+
rb_define_singleton_method(mHpricot, "css", hpricot_css, 3);
|
6875
|
+
rb_eHpricotParseError = rb_define_class_under(mHpricot, "ParseError", rb_eStandardError);
|
6876
|
+
|
6877
|
+
structElem = make_hpricot_struct(rb_ary_new3(8, sym_name, sym_parent,
|
6878
|
+
sym_raw_attributes, sym_etag, sym_raw_string, sym_allowed,
|
6879
|
+
sym_tagno, sym_children));
|
6880
|
+
structAttr = make_hpricot_struct(rb_ary_new3(3, sym_name, sym_parent, sym_raw_attributes));
|
6881
|
+
structBasic = make_hpricot_struct(rb_ary_new3(2, sym_name, sym_parent));
|
6882
|
+
|
6883
|
+
cDoc = rb_define_class_under(mHpricot, "Doc", structElem);
|
6884
|
+
cCData = rb_define_class_under(mHpricot, "CData", structBasic);
|
6885
|
+
rb_define_method(cCData, "content", hpricot_ele_get_name, 0);
|
6886
|
+
rb_define_method(cCData, "content=", hpricot_ele_set_name, 1);
|
6887
|
+
cComment = rb_define_class_under(mHpricot, "Comment", structBasic);
|
6888
|
+
rb_define_method(cComment, "content", hpricot_ele_get_name, 0);
|
6889
|
+
rb_define_method(cComment, "content=", hpricot_ele_set_name, 1);
|
6890
|
+
cDocType = rb_define_class_under(mHpricot, "DocType", structAttr);
|
6891
|
+
rb_define_method(cDocType, "raw_string", hpricot_ele_get_name, 0);
|
6892
|
+
rb_define_method(cDocType, "clear_raw", hpricot_ele_clear_name, 0);
|
6893
|
+
rb_define_method(cDocType, "target", hpricot_ele_get_target, 0);
|
6894
|
+
rb_define_method(cDocType, "target=", hpricot_ele_set_target, 1);
|
6895
|
+
rb_define_method(cDocType, "public_id", hpricot_ele_get_public_id, 0);
|
6896
|
+
rb_define_method(cDocType, "public_id=", hpricot_ele_set_public_id, 1);
|
6897
|
+
rb_define_method(cDocType, "system_id", hpricot_ele_get_system_id, 0);
|
6898
|
+
rb_define_method(cDocType, "system_id=", hpricot_ele_set_system_id, 1);
|
6899
|
+
cElem = rb_define_class_under(mHpricot, "Elem", structElem);
|
6900
|
+
rb_define_method(cElem, "clear_raw", hpricot_ele_clear_raw, 0);
|
6901
|
+
cBogusETag = rb_define_class_under(mHpricot, "BogusETag", structAttr);
|
6902
|
+
rb_define_method(cBogusETag, "raw_string", hpricot_ele_get_attr, 0);
|
6903
|
+
rb_define_method(cBogusETag, "clear_raw", hpricot_ele_clear_attr, 0);
|
6904
|
+
cText = rb_define_class_under(mHpricot, "Text", structBasic);
|
6905
|
+
rb_define_method(cText, "raw_string", hpricot_ele_get_name, 0);
|
6906
|
+
rb_define_method(cText, "clear_raw", hpricot_ele_clear_name, 0);
|
6907
|
+
rb_define_method(cText, "content", hpricot_ele_get_name, 0);
|
6908
|
+
rb_define_method(cText, "content=", hpricot_ele_set_name, 1);
|
6909
|
+
cXMLDecl = rb_define_class_under(mHpricot, "XMLDecl", structAttr);
|
6910
|
+
rb_define_method(cXMLDecl, "raw_string", hpricot_ele_get_name, 0);
|
6911
|
+
rb_define_method(cXMLDecl, "clear_raw", hpricot_ele_clear_name, 0);
|
6912
|
+
rb_define_method(cXMLDecl, "encoding", hpricot_ele_get_encoding, 0);
|
6913
|
+
rb_define_method(cXMLDecl, "encoding=", hpricot_ele_set_encoding, 1);
|
6914
|
+
rb_define_method(cXMLDecl, "standalone", hpricot_ele_get_standalone, 0);
|
6915
|
+
rb_define_method(cXMLDecl, "standalone=", hpricot_ele_set_standalone, 1);
|
6916
|
+
rb_define_method(cXMLDecl, "version", hpricot_ele_get_version, 0);
|
6917
|
+
rb_define_method(cXMLDecl, "version=", hpricot_ele_set_version, 1);
|
6918
|
+
cProcIns = rb_define_class_under(mHpricot, "ProcIns", structAttr);
|
6919
|
+
rb_define_method(cProcIns, "target", hpricot_ele_get_name, 0);
|
6920
|
+
rb_define_method(cProcIns, "target=", hpricot_ele_set_name, 1);
|
6921
|
+
rb_define_method(cProcIns, "content", hpricot_ele_get_attr, 0);
|
6922
|
+
rb_define_method(cProcIns, "content=", hpricot_ele_set_attr, 1);
|
6923
|
+
|
6678
6924
|
rb_const_set(mHpricot, rb_intern("ProcInsParse"),
|
6679
6925
|
reProcInsParse = rb_eval_string("/\\A<\\?(\\S+)\\s+(.+)/m"));
|
6680
6926
|
}
|