oga 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/ext/c/lexer.c CHANGED
@@ -21,11 +21,11 @@ on `ts` and `te`) so the macro ignores this argument.
21
21
  #define advance_line(amount) \
22
22
  rb_funcall(self, id_advance_line, 1, INT2NUM(amount));
23
23
 
24
- #define inside_html_script_p() \
25
- rb_funcall(self, id_inside_html_script_p, 0) == Qtrue
24
+ #define literal_html_element_p() \
25
+ rb_funcall(self, id_literal_html_element_p, 0) == Qtrue
26
26
 
27
27
  ID id_advance_line;
28
- ID id_inside_html_script_p;
28
+ ID id_literal_html_element_p;
29
29
 
30
30
 
31
31
  #line 29 "ext/c/lexer.rl"
@@ -66,21 +66,21 @@ void liboga_xml_lexer_callback_simple(VALUE self, VALUE name)
66
66
 
67
67
 
68
68
  #line 69 "ext/c/lexer.c"
69
- static const int c_lexer_start = 34;
70
- static const int c_lexer_first_final = 34;
69
+ static const int c_lexer_start = 27;
70
+ static const int c_lexer_first_final = 27;
71
71
  static const int c_lexer_error = 0;
72
72
 
73
- static const int c_lexer_en_proc_ins_body = 40;
74
- static const int c_lexer_en_string_squote = 42;
75
- static const int c_lexer_en_string_dquote = 44;
76
- static const int c_lexer_en_doctype_inline = 46;
77
- static const int c_lexer_en_doctype = 48;
78
- static const int c_lexer_en_xml_decl = 60;
79
- static const int c_lexer_en_element_name = 63;
80
- static const int c_lexer_en_element_head = 65;
81
- static const int c_lexer_en_text = 67;
82
- static const int c_lexer_en_script_text = 71;
83
- static const int c_lexer_en_main = 34;
73
+ static const int c_lexer_en_proc_ins_body = 33;
74
+ static const int c_lexer_en_string_squote = 35;
75
+ static const int c_lexer_en_string_dquote = 37;
76
+ static const int c_lexer_en_doctype_inline = 39;
77
+ static const int c_lexer_en_doctype = 41;
78
+ static const int c_lexer_en_xml_decl = 53;
79
+ static const int c_lexer_en_element_name = 56;
80
+ static const int c_lexer_en_element_head = 58;
81
+ static const int c_lexer_en_text = 60;
82
+ static const int c_lexer_en_literal_html_element = 64;
83
+ static const int c_lexer_en_main = 27;
84
84
 
85
85
 
86
86
  #line 65 "ext/c/lexer.rl"
@@ -146,8 +146,8 @@ VALUE oga_xml_lexer_advance(VALUE self, VALUE data_block)
146
146
 
147
147
  _again:
148
148
  switch ( ( state->cs) ) {
149
- case 34: goto st34;
150
- case 35: goto st35;
149
+ case 27: goto st27;
150
+ case 28: goto st28;
151
151
  case 1: goto st1;
152
152
  case 2: goto st2;
153
153
  case 3: goto st3;
@@ -160,7 +160,7 @@ _again:
160
160
  case 10: goto st10;
161
161
  case 11: goto st11;
162
162
  case 12: goto st12;
163
- case 36: goto st36;
163
+ case 29: goto st29;
164
164
  case 13: goto st13;
165
165
  case 14: goto st14;
166
166
  case 15: goto st15;
@@ -173,11 +173,19 @@ _again:
173
173
  case 22: goto st22;
174
174
  case 23: goto st23;
175
175
  case 24: goto st24;
176
+ case 30: goto st30;
177
+ case 31: goto st31;
178
+ case 32: goto st32;
179
+ case 33: goto st33;
180
+ case 34: goto st34;
181
+ case 35: goto st35;
182
+ case 36: goto st36;
176
183
  case 37: goto st37;
177
184
  case 38: goto st38;
178
185
  case 39: goto st39;
179
186
  case 40: goto st40;
180
187
  case 41: goto st41;
188
+ case 0: goto st0;
181
189
  case 42: goto st42;
182
190
  case 43: goto st43;
183
191
  case 44: goto st44;
@@ -185,7 +193,6 @@ _again:
185
193
  case 46: goto st46;
186
194
  case 47: goto st47;
187
195
  case 48: goto st48;
188
- case 0: goto st0;
189
196
  case 49: goto st49;
190
197
  case 50: goto st50;
191
198
  case 51: goto st51;
@@ -196,29 +203,26 @@ _again:
196
203
  case 56: goto st56;
197
204
  case 57: goto st57;
198
205
  case 58: goto st58;
206
+ case 25: goto st25;
199
207
  case 59: goto st59;
208
+ case 26: goto st26;
200
209
  case 60: goto st60;
201
210
  case 61: goto st61;
202
211
  case 62: goto st62;
203
212
  case 63: goto st63;
204
213
  case 64: goto st64;
205
214
  case 65: goto st65;
206
- case 25: goto st25;
207
215
  case 66: goto st66;
208
- case 26: goto st26;
209
216
  case 67: goto st67;
210
217
  case 68: goto st68;
211
218
  case 69: goto st69;
212
219
  case 70: goto st70;
213
220
  case 71: goto st71;
214
221
  case 72: goto st72;
215
- case 27: goto st27;
216
- case 28: goto st28;
217
- case 29: goto st29;
218
- case 30: goto st30;
219
- case 31: goto st31;
220
- case 32: goto st32;
221
- case 33: goto st33;
222
+ case 73: goto st73;
223
+ case 74: goto st74;
224
+ case 75: goto st75;
225
+ case 76: goto st76;
222
226
  default: break;
223
227
  }
224
228
 
@@ -228,11 +232,11 @@ _resume:
228
232
  switch ( ( state->cs) )
229
233
  {
230
234
  tr0:
231
- ( state->cs) = 34;
232
- #line 358 "ext/ragel/base_lexer.rl"
235
+ ( state->cs) = 27;
236
+ #line 356 "ext/ragel/base_lexer.rl"
233
237
  {{p = ((te))-1;}{
234
238
  p--;
235
- ( state->cs) = 67;
239
+ ( state->cs) = 60;
236
240
  }}
237
241
  goto _again;
238
242
  tr7:
@@ -240,60 +244,60 @@ tr7:
240
244
  {te = p+1;{
241
245
  callback(id_on_comment, data, encoding, ts + 4, te - 3);
242
246
  }}
243
- goto st34;
247
+ goto st27;
244
248
  tr23:
245
249
  #line 88 "ext/ragel/base_lexer.rl"
246
250
  {te = p+1;{
247
251
  callback(id_on_cdata, data, encoding, ts + 9, te - 3);
248
252
  }}
249
- goto st34;
253
+ goto st27;
250
254
  tr26:
251
255
  #line 289 "ext/ragel/base_lexer.rl"
252
256
  {te = p+1;{
253
257
  callback_simple(id_on_element_end);
254
258
  }}
255
- goto st34;
256
- tr40:
257
- ( state->cs) = 34;
258
- #line 358 "ext/ragel/base_lexer.rl"
259
+ goto st27;
260
+ tr32:
261
+ ( state->cs) = 27;
262
+ #line 356 "ext/ragel/base_lexer.rl"
259
263
  {te = p+1;{
260
264
  p--;
261
- ( state->cs) = 67;
265
+ ( state->cs) = 60;
262
266
  }}
263
267
  goto _again;
264
- tr42:
265
- ( state->cs) = 34;
266
- #line 358 "ext/ragel/base_lexer.rl"
268
+ tr34:
269
+ ( state->cs) = 27;
270
+ #line 356 "ext/ragel/base_lexer.rl"
267
271
  {te = p;p--;{
268
272
  p--;
269
- ( state->cs) = 67;
273
+ ( state->cs) = 60;
270
274
  }}
271
275
  goto _again;
272
- tr44:
273
- ( state->cs) = 34;
276
+ tr36:
277
+ ( state->cs) = 27;
274
278
  #line 283 "ext/ragel/base_lexer.rl"
275
279
  {te = p+1;{
276
280
  callback_simple(id_on_element_start);
277
281
  p--;
278
- ( state->cs) = 63;
282
+ ( state->cs) = 56;
279
283
  }}
280
284
  goto _again;
281
- tr46:
282
- ( state->cs) = 34;
285
+ tr38:
286
+ ( state->cs) = 27;
283
287
  #line 192 "ext/ragel/base_lexer.rl"
284
288
  {te = p;p--;{
285
289
  callback_simple(id_on_doctype_start);
286
- ( state->cs) = 48;
290
+ ( state->cs) = 41;
287
291
  }}
288
292
  goto _again;
289
- tr47:
290
- ( state->cs) = 34;
293
+ tr39:
294
+ ( state->cs) = 27;
291
295
  #line 1 "NONE"
292
296
  { switch( ( state->act) ) {
293
297
  case 36:
294
298
  {{p = ((te))-1;}
295
299
  callback_simple(id_on_xml_decl_start);
296
- ( state->cs) = 60;
300
+ ( state->cs) = 53;
297
301
  }
298
302
  break;
299
303
  case 39:
@@ -303,14 +307,14 @@ tr47:
303
307
 
304
308
  mark = te;
305
309
 
306
- ( state->cs) = 40;
310
+ ( state->cs) = 33;
307
311
  }
308
312
  break;
309
313
  }
310
314
  }
311
315
  goto _again;
312
- tr48:
313
- ( state->cs) = 34;
316
+ tr40:
317
+ ( state->cs) = 27;
314
318
  #line 106 "ext/ragel/base_lexer.rl"
315
319
  {te = p;p--;{
316
320
  callback_simple(id_on_proc_ins_start);
@@ -318,46 +322,46 @@ tr48:
318
322
 
319
323
  mark = te;
320
324
 
321
- ( state->cs) = 40;
325
+ ( state->cs) = 33;
322
326
  }}
323
327
  goto _again;
324
- st34:
328
+ st27:
325
329
  #line 1 "NONE"
326
330
  {ts = 0;}
327
331
  if ( ++p == pe )
328
- goto _test_eof34;
329
- case 34:
332
+ goto _test_eof27;
333
+ case 27:
330
334
  #line 1 "NONE"
331
335
  {ts = p;}
332
- #line 333 "ext/c/lexer.c"
336
+ #line 337 "ext/c/lexer.c"
333
337
  if ( (*p) == 60 )
334
- goto tr41;
335
- goto tr40;
336
- tr41:
338
+ goto tr33;
339
+ goto tr32;
340
+ tr33:
337
341
  #line 1 "NONE"
338
342
  {te = p+1;}
339
- goto st35;
340
- st35:
343
+ goto st28;
344
+ st28:
341
345
  if ( ++p == pe )
342
- goto _test_eof35;
343
- case 35:
344
- #line 345 "ext/c/lexer.c"
346
+ goto _test_eof28;
347
+ case 28:
348
+ #line 349 "ext/c/lexer.c"
345
349
  switch( (*p) ) {
346
350
  case 33: goto st1;
347
- case 45: goto tr44;
351
+ case 45: goto tr36;
348
352
  case 47: goto st22;
349
353
  case 63: goto st24;
350
- case 95: goto tr44;
354
+ case 95: goto tr36;
351
355
  }
352
356
  if ( (*p) < 65 ) {
353
357
  if ( 48 <= (*p) && (*p) <= 57 )
354
- goto tr44;
358
+ goto tr36;
355
359
  } else if ( (*p) > 90 ) {
356
360
  if ( 97 <= (*p) && (*p) <= 122 )
357
- goto tr44;
361
+ goto tr36;
358
362
  } else
359
- goto tr44;
360
- goto tr42;
363
+ goto tr36;
364
+ goto tr34;
361
365
  st1:
362
366
  if ( ++p == pe )
363
367
  goto _test_eof1;
@@ -458,19 +462,19 @@ st12:
458
462
  goto _test_eof12;
459
463
  case 12:
460
464
  switch( (*p) ) {
461
- case 9: goto st36;
462
- case 32: goto st36;
465
+ case 9: goto st29;
466
+ case 32: goto st29;
463
467
  }
464
468
  goto tr0;
465
- st36:
469
+ st29:
466
470
  if ( ++p == pe )
467
- goto _test_eof36;
468
- case 36:
471
+ goto _test_eof29;
472
+ case 29:
469
473
  switch( (*p) ) {
470
- case 9: goto st36;
471
- case 32: goto st36;
474
+ case 9: goto st29;
475
+ case 32: goto st29;
472
476
  }
473
- goto tr46;
477
+ goto tr38;
474
478
  st13:
475
479
  if ( ++p == pe )
476
480
  goto _test_eof13;
@@ -579,7 +583,7 @@ case 24:
579
583
  switch( (*p) ) {
580
584
  case 45: goto tr27;
581
585
  case 95: goto tr27;
582
- case 120: goto st38;
586
+ case 120: goto st31;
583
587
  }
584
588
  if ( (*p) < 65 ) {
585
589
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -595,18 +599,18 @@ tr27:
595
599
  {te = p+1;}
596
600
  #line 106 "ext/ragel/base_lexer.rl"
597
601
  {( state->act) = 39;}
598
- goto st37;
599
- tr50:
602
+ goto st30;
603
+ tr42:
600
604
  #line 1 "NONE"
601
605
  {te = p+1;}
602
606
  #line 248 "ext/ragel/base_lexer.rl"
603
607
  {( state->act) = 36;}
604
- goto st37;
605
- st37:
608
+ goto st30;
609
+ st30:
606
610
  if ( ++p == pe )
607
- goto _test_eof37;
608
- case 37:
609
- #line 610 "ext/c/lexer.c"
611
+ goto _test_eof30;
612
+ case 30:
613
+ #line 614 "ext/c/lexer.c"
610
614
  switch( (*p) ) {
611
615
  case 45: goto tr27;
612
616
  case 95: goto tr27;
@@ -619,15 +623,15 @@ case 37:
619
623
  goto tr27;
620
624
  } else
621
625
  goto tr27;
622
- goto tr47;
623
- st38:
626
+ goto tr39;
627
+ st31:
624
628
  if ( ++p == pe )
625
- goto _test_eof38;
626
- case 38:
629
+ goto _test_eof31;
630
+ case 31:
627
631
  switch( (*p) ) {
628
632
  case 45: goto tr27;
629
633
  case 95: goto tr27;
630
- case 109: goto st39;
634
+ case 109: goto st32;
631
635
  }
632
636
  if ( (*p) < 65 ) {
633
637
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -637,15 +641,15 @@ case 38:
637
641
  goto tr27;
638
642
  } else
639
643
  goto tr27;
640
- goto tr48;
641
- st39:
644
+ goto tr40;
645
+ st32:
642
646
  if ( ++p == pe )
643
- goto _test_eof39;
644
- case 39:
647
+ goto _test_eof32;
648
+ case 32:
645
649
  switch( (*p) ) {
646
650
  case 45: goto tr27;
647
651
  case 95: goto tr27;
648
- case 108: goto tr50;
652
+ case 108: goto tr42;
649
653
  }
650
654
  if ( (*p) < 65 ) {
651
655
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -655,17 +659,17 @@ case 39:
655
659
  goto tr27;
656
660
  } else
657
661
  goto tr27;
658
- goto tr48;
659
- tr51:
662
+ goto tr40;
663
+ tr43:
660
664
  #line 125 "ext/ragel/base_lexer.rl"
661
665
  {te = p+1;}
662
- goto st40;
663
- tr53:
666
+ goto st33;
667
+ tr45:
664
668
  #line 125 "ext/ragel/base_lexer.rl"
665
669
  {te = p;p--;}
666
- goto st40;
667
- tr54:
668
- ( state->cs) = 40;
670
+ goto st33;
671
+ tr46:
672
+ ( state->cs) = 33;
669
673
  #line 116 "ext/ragel/base_lexer.rl"
670
674
  {te = p+1;{
671
675
  callback(id_on_text, data, encoding, mark, ts);
@@ -673,37 +677,37 @@ tr54:
673
677
 
674
678
  mark = 0;
675
679
 
676
- ( state->cs) = 34;
680
+ ( state->cs) = 27;
677
681
  }}
678
682
  goto _again;
679
- st40:
683
+ st33:
680
684
  #line 1 "NONE"
681
685
  {ts = 0;}
682
686
  if ( ++p == pe )
683
- goto _test_eof40;
684
- case 40:
687
+ goto _test_eof33;
688
+ case 33:
685
689
  #line 1 "NONE"
686
690
  {ts = p;}
687
- #line 688 "ext/c/lexer.c"
691
+ #line 692 "ext/c/lexer.c"
688
692
  if ( (*p) == 63 )
689
- goto st41;
690
- goto tr51;
691
- st41:
693
+ goto st34;
694
+ goto tr43;
695
+ st34:
692
696
  if ( ++p == pe )
693
- goto _test_eof41;
694
- case 41:
697
+ goto _test_eof34;
698
+ case 34:
695
699
  if ( (*p) == 62 )
696
- goto tr54;
697
- goto tr53;
698
- tr56:
700
+ goto tr46;
701
+ goto tr45;
702
+ tr48:
699
703
  #line 163 "ext/ragel/base_lexer.rl"
700
704
  {te = p+1;{
701
705
  callback_simple(id_on_string_squote);
702
706
 
703
707
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
704
708
  }}
705
- goto st42;
706
- tr57:
709
+ goto st35;
710
+ tr49:
707
711
  #line 137 "ext/ragel/base_lexer.rl"
708
712
  {te = p;p--;{
709
713
  callback(id_on_string_body, data, encoding, ts, te);
@@ -715,42 +719,42 @@ tr57:
715
719
  lines = 0;
716
720
  }
717
721
  }}
718
- goto st42;
719
- st42:
722
+ goto st35;
723
+ st35:
720
724
  #line 1 "NONE"
721
725
  {ts = 0;}
722
726
  if ( ++p == pe )
723
- goto _test_eof42;
724
- case 42:
727
+ goto _test_eof35;
728
+ case 35:
725
729
  #line 1 "NONE"
726
730
  {ts = p;}
727
- #line 728 "ext/c/lexer.c"
731
+ #line 732 "ext/c/lexer.c"
728
732
  if ( (*p) == 39 )
729
- goto tr56;
730
- goto tr55;
731
- tr55:
733
+ goto tr48;
734
+ goto tr47;
735
+ tr47:
732
736
  #line 51 "ext/ragel/base_lexer.rl"
733
737
  {
734
738
  if ( (*p) == '\n' ) lines++;
735
739
  }
736
- goto st43;
737
- st43:
740
+ goto st36;
741
+ st36:
738
742
  if ( ++p == pe )
739
- goto _test_eof43;
740
- case 43:
741
- #line 742 "ext/c/lexer.c"
743
+ goto _test_eof36;
744
+ case 36:
745
+ #line 746 "ext/c/lexer.c"
742
746
  if ( (*p) == 39 )
743
- goto tr57;
744
- goto tr55;
745
- tr59:
747
+ goto tr49;
748
+ goto tr47;
749
+ tr51:
746
750
  #line 173 "ext/ragel/base_lexer.rl"
747
751
  {te = p+1;{
748
752
  callback_simple(id_on_string_dquote);
749
753
 
750
754
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
751
755
  }}
752
- goto st44;
753
- tr60:
756
+ goto st37;
757
+ tr52:
754
758
  #line 137 "ext/ragel/base_lexer.rl"
755
759
  {te = p;p--;{
756
760
  callback(id_on_string_body, data, encoding, ts, te);
@@ -762,39 +766,39 @@ tr60:
762
766
  lines = 0;
763
767
  }
764
768
  }}
765
- goto st44;
766
- st44:
769
+ goto st37;
770
+ st37:
767
771
  #line 1 "NONE"
768
772
  {ts = 0;}
769
773
  if ( ++p == pe )
770
- goto _test_eof44;
771
- case 44:
774
+ goto _test_eof37;
775
+ case 37:
772
776
  #line 1 "NONE"
773
777
  {ts = p;}
774
- #line 775 "ext/c/lexer.c"
778
+ #line 779 "ext/c/lexer.c"
775
779
  if ( (*p) == 34 )
776
- goto tr59;
777
- goto tr58;
778
- tr58:
780
+ goto tr51;
781
+ goto tr50;
782
+ tr50:
779
783
  #line 51 "ext/ragel/base_lexer.rl"
780
784
  {
781
785
  if ( (*p) == '\n' ) lines++;
782
786
  }
783
- goto st45;
784
- st45:
787
+ goto st38;
788
+ st38:
785
789
  if ( ++p == pe )
786
- goto _test_eof45;
787
- case 45:
788
- #line 789 "ext/c/lexer.c"
790
+ goto _test_eof38;
791
+ case 38:
792
+ #line 793 "ext/c/lexer.c"
789
793
  if ( (*p) == 34 )
790
- goto tr60;
791
- goto tr58;
792
- tr62:
793
- ( state->cs) = 46;
794
+ goto tr52;
795
+ goto tr50;
796
+ tr54:
797
+ ( state->cs) = 39;
794
798
  #line 210 "ext/ragel/base_lexer.rl"
795
- {te = p+1;{ ( state->cs) = 48; }}
799
+ {te = p+1;{ ( state->cs) = 41; }}
796
800
  goto _again;
797
- tr63:
801
+ tr55:
798
802
  #line 199 "ext/ragel/base_lexer.rl"
799
803
  {te = p;p--;{
800
804
  callback(id_on_doctype_inline, data, encoding, ts, te);
@@ -806,67 +810,67 @@ tr63:
806
810
  lines = 0;
807
811
  }
808
812
  }}
809
- goto st46;
810
- st46:
813
+ goto st39;
814
+ st39:
811
815
  #line 1 "NONE"
812
816
  {ts = 0;}
813
817
  if ( ++p == pe )
814
- goto _test_eof46;
815
- case 46:
818
+ goto _test_eof39;
819
+ case 39:
816
820
  #line 1 "NONE"
817
821
  {ts = p;}
818
- #line 819 "ext/c/lexer.c"
822
+ #line 823 "ext/c/lexer.c"
819
823
  if ( (*p) == 93 )
820
- goto tr62;
821
- goto tr61;
822
- tr61:
824
+ goto tr54;
825
+ goto tr53;
826
+ tr53:
823
827
  #line 51 "ext/ragel/base_lexer.rl"
824
828
  {
825
829
  if ( (*p) == '\n' ) lines++;
826
830
  }
827
- goto st47;
828
- st47:
831
+ goto st40;
832
+ st40:
829
833
  if ( ++p == pe )
830
- goto _test_eof47;
831
- case 47:
832
- #line 833 "ext/c/lexer.c"
834
+ goto _test_eof40;
835
+ case 40:
836
+ #line 837 "ext/c/lexer.c"
833
837
  if ( (*p) == 93 )
834
- goto tr63;
835
- goto tr61;
836
- tr64:
838
+ goto tr55;
839
+ goto tr53;
840
+ tr56:
837
841
  #line 229 "ext/ragel/base_lexer.rl"
838
842
  {te = p+1;}
839
- goto st48;
840
- tr65:
843
+ goto st41;
844
+ tr57:
841
845
  #line 154 "ext/ragel/base_lexer.rl"
842
846
  {te = p+1;{
843
847
  callback_simple(id_on_string_dquote);
844
848
 
845
- {( state->stack)[( state->top)++] = 48; goto st44;}
849
+ {( state->stack)[( state->top)++] = 41; goto st37;}
846
850
  }}
847
- goto st48;
848
- tr66:
851
+ goto st41;
852
+ tr58:
849
853
  #line 148 "ext/ragel/base_lexer.rl"
850
854
  {te = p+1;{
851
855
  callback_simple(id_on_string_squote);
852
856
 
853
- {( state->stack)[( state->top)++] = 48; goto st42;}
857
+ {( state->stack)[( state->top)++] = 41; goto st35;}
854
858
  }}
855
- goto st48;
856
- tr68:
857
- ( state->cs) = 48;
859
+ goto st41;
860
+ tr60:
861
+ ( state->cs) = 41;
858
862
  #line 235 "ext/ragel/base_lexer.rl"
859
863
  {te = p+1;{
860
864
  callback_simple(id_on_doctype_end);
861
- ( state->cs) = 34;
865
+ ( state->cs) = 27;
862
866
  }}
863
867
  goto _again;
864
- tr71:
865
- ( state->cs) = 48;
868
+ tr63:
869
+ ( state->cs) = 41;
866
870
  #line 221 "ext/ragel/base_lexer.rl"
867
- {te = p+1;{ ( state->cs) = 46; }}
871
+ {te = p+1;{ ( state->cs) = 39; }}
868
872
  goto _again;
869
- tr72:
873
+ tr64:
870
874
  #line 1 "NONE"
871
875
  { switch( ( state->act) ) {
872
876
  case 9:
@@ -881,491 +885,489 @@ tr72:
881
885
  break;
882
886
  }
883
887
  }
884
- goto st48;
885
- tr73:
888
+ goto st41;
889
+ tr65:
886
890
  #line 231 "ext/ragel/base_lexer.rl"
887
891
  {te = p;p--;{
888
892
  callback(id_on_doctype_name, data, encoding, ts, te);
889
893
  }}
890
- goto st48;
891
- st48:
894
+ goto st41;
895
+ st41:
892
896
  #line 1 "NONE"
893
897
  {ts = 0;}
894
898
  if ( ++p == pe )
895
- goto _test_eof48;
896
- case 48:
899
+ goto _test_eof41;
900
+ case 41:
897
901
  #line 1 "NONE"
898
902
  {ts = p;}
899
- #line 900 "ext/c/lexer.c"
903
+ #line 904 "ext/c/lexer.c"
900
904
  switch( (*p) ) {
901
- case 9: goto tr64;
902
- case 32: goto tr64;
903
- case 34: goto tr65;
904
- case 39: goto tr66;
905
- case 45: goto tr67;
906
- case 62: goto tr68;
907
- case 80: goto st50;
908
- case 83: goto st55;
909
- case 91: goto tr71;
910
- case 95: goto tr67;
905
+ case 9: goto tr56;
906
+ case 32: goto tr56;
907
+ case 34: goto tr57;
908
+ case 39: goto tr58;
909
+ case 45: goto tr59;
910
+ case 62: goto tr60;
911
+ case 80: goto st43;
912
+ case 83: goto st48;
913
+ case 91: goto tr63;
914
+ case 95: goto tr59;
911
915
  }
912
916
  if ( (*p) < 65 ) {
913
917
  if ( 48 <= (*p) && (*p) <= 57 )
914
- goto tr67;
918
+ goto tr59;
915
919
  } else if ( (*p) > 90 ) {
916
920
  if ( 97 <= (*p) && (*p) <= 122 )
917
- goto tr67;
921
+ goto tr59;
918
922
  } else
919
- goto tr67;
923
+ goto tr59;
920
924
  goto st0;
921
925
  st0:
922
926
  ( state->cs) = 0;
923
927
  goto _out;
924
- tr67:
928
+ tr59:
925
929
  #line 1 "NONE"
926
930
  {te = p+1;}
927
931
  #line 231 "ext/ragel/base_lexer.rl"
928
932
  {( state->act) = 14;}
929
- goto st49;
930
- tr78:
933
+ goto st42;
934
+ tr70:
931
935
  #line 1 "NONE"
932
936
  {te = p+1;}
933
937
  #line 216 "ext/ragel/base_lexer.rl"
934
938
  {( state->act) = 9;}
935
- goto st49;
936
- st49:
939
+ goto st42;
940
+ st42:
937
941
  if ( ++p == pe )
938
- goto _test_eof49;
939
- case 49:
940
- #line 941 "ext/c/lexer.c"
942
+ goto _test_eof42;
943
+ case 42:
944
+ #line 945 "ext/c/lexer.c"
941
945
  switch( (*p) ) {
942
- case 45: goto tr67;
943
- case 95: goto tr67;
946
+ case 45: goto tr59;
947
+ case 95: goto tr59;
944
948
  }
945
949
  if ( (*p) < 65 ) {
946
950
  if ( 48 <= (*p) && (*p) <= 57 )
947
- goto tr67;
951
+ goto tr59;
948
952
  } else if ( (*p) > 90 ) {
949
953
  if ( 97 <= (*p) && (*p) <= 122 )
950
- goto tr67;
954
+ goto tr59;
951
955
  } else
952
- goto tr67;
953
- goto tr72;
954
- st50:
956
+ goto tr59;
957
+ goto tr64;
958
+ st43:
955
959
  if ( ++p == pe )
956
- goto _test_eof50;
957
- case 50:
960
+ goto _test_eof43;
961
+ case 43:
958
962
  switch( (*p) ) {
959
- case 45: goto tr67;
960
- case 85: goto st51;
961
- case 95: goto tr67;
963
+ case 45: goto tr59;
964
+ case 85: goto st44;
965
+ case 95: goto tr59;
962
966
  }
963
967
  if ( (*p) < 65 ) {
964
968
  if ( 48 <= (*p) && (*p) <= 57 )
965
- goto tr67;
969
+ goto tr59;
966
970
  } else if ( (*p) > 90 ) {
967
971
  if ( 97 <= (*p) && (*p) <= 122 )
968
- goto tr67;
972
+ goto tr59;
969
973
  } else
970
- goto tr67;
971
- goto tr73;
972
- st51:
974
+ goto tr59;
975
+ goto tr65;
976
+ st44:
973
977
  if ( ++p == pe )
974
- goto _test_eof51;
975
- case 51:
978
+ goto _test_eof44;
979
+ case 44:
976
980
  switch( (*p) ) {
977
- case 45: goto tr67;
978
- case 66: goto st52;
979
- case 95: goto tr67;
981
+ case 45: goto tr59;
982
+ case 66: goto st45;
983
+ case 95: goto tr59;
980
984
  }
981
985
  if ( (*p) < 65 ) {
982
986
  if ( 48 <= (*p) && (*p) <= 57 )
983
- goto tr67;
987
+ goto tr59;
984
988
  } else if ( (*p) > 90 ) {
985
989
  if ( 97 <= (*p) && (*p) <= 122 )
986
- goto tr67;
990
+ goto tr59;
987
991
  } else
988
- goto tr67;
989
- goto tr73;
990
- st52:
992
+ goto tr59;
993
+ goto tr65;
994
+ st45:
991
995
  if ( ++p == pe )
992
- goto _test_eof52;
993
- case 52:
996
+ goto _test_eof45;
997
+ case 45:
994
998
  switch( (*p) ) {
995
- case 45: goto tr67;
996
- case 76: goto st53;
997
- case 95: goto tr67;
999
+ case 45: goto tr59;
1000
+ case 76: goto st46;
1001
+ case 95: goto tr59;
998
1002
  }
999
1003
  if ( (*p) < 65 ) {
1000
1004
  if ( 48 <= (*p) && (*p) <= 57 )
1001
- goto tr67;
1005
+ goto tr59;
1002
1006
  } else if ( (*p) > 90 ) {
1003
1007
  if ( 97 <= (*p) && (*p) <= 122 )
1004
- goto tr67;
1008
+ goto tr59;
1005
1009
  } else
1006
- goto tr67;
1007
- goto tr73;
1008
- st53:
1010
+ goto tr59;
1011
+ goto tr65;
1012
+ st46:
1009
1013
  if ( ++p == pe )
1010
- goto _test_eof53;
1011
- case 53:
1014
+ goto _test_eof46;
1015
+ case 46:
1012
1016
  switch( (*p) ) {
1013
- case 45: goto tr67;
1014
- case 73: goto st54;
1015
- case 95: goto tr67;
1017
+ case 45: goto tr59;
1018
+ case 73: goto st47;
1019
+ case 95: goto tr59;
1016
1020
  }
1017
1021
  if ( (*p) < 65 ) {
1018
1022
  if ( 48 <= (*p) && (*p) <= 57 )
1019
- goto tr67;
1023
+ goto tr59;
1020
1024
  } else if ( (*p) > 90 ) {
1021
1025
  if ( 97 <= (*p) && (*p) <= 122 )
1022
- goto tr67;
1026
+ goto tr59;
1023
1027
  } else
1024
- goto tr67;
1025
- goto tr73;
1026
- st54:
1028
+ goto tr59;
1029
+ goto tr65;
1030
+ st47:
1027
1031
  if ( ++p == pe )
1028
- goto _test_eof54;
1029
- case 54:
1032
+ goto _test_eof47;
1033
+ case 47:
1030
1034
  switch( (*p) ) {
1031
- case 45: goto tr67;
1032
- case 67: goto tr78;
1033
- case 95: goto tr67;
1035
+ case 45: goto tr59;
1036
+ case 67: goto tr70;
1037
+ case 95: goto tr59;
1034
1038
  }
1035
1039
  if ( (*p) < 65 ) {
1036
1040
  if ( 48 <= (*p) && (*p) <= 57 )
1037
- goto tr67;
1041
+ goto tr59;
1038
1042
  } else if ( (*p) > 90 ) {
1039
1043
  if ( 97 <= (*p) && (*p) <= 122 )
1040
- goto tr67;
1044
+ goto tr59;
1041
1045
  } else
1042
- goto tr67;
1043
- goto tr73;
1044
- st55:
1046
+ goto tr59;
1047
+ goto tr65;
1048
+ st48:
1045
1049
  if ( ++p == pe )
1046
- goto _test_eof55;
1047
- case 55:
1050
+ goto _test_eof48;
1051
+ case 48:
1048
1052
  switch( (*p) ) {
1049
- case 45: goto tr67;
1050
- case 89: goto st56;
1051
- case 95: goto tr67;
1053
+ case 45: goto tr59;
1054
+ case 89: goto st49;
1055
+ case 95: goto tr59;
1052
1056
  }
1053
1057
  if ( (*p) < 65 ) {
1054
1058
  if ( 48 <= (*p) && (*p) <= 57 )
1055
- goto tr67;
1059
+ goto tr59;
1056
1060
  } else if ( (*p) > 90 ) {
1057
1061
  if ( 97 <= (*p) && (*p) <= 122 )
1058
- goto tr67;
1062
+ goto tr59;
1059
1063
  } else
1060
- goto tr67;
1061
- goto tr73;
1062
- st56:
1064
+ goto tr59;
1065
+ goto tr65;
1066
+ st49:
1063
1067
  if ( ++p == pe )
1064
- goto _test_eof56;
1065
- case 56:
1068
+ goto _test_eof49;
1069
+ case 49:
1066
1070
  switch( (*p) ) {
1067
- case 45: goto tr67;
1068
- case 83: goto st57;
1069
- case 95: goto tr67;
1071
+ case 45: goto tr59;
1072
+ case 83: goto st50;
1073
+ case 95: goto tr59;
1070
1074
  }
1071
1075
  if ( (*p) < 65 ) {
1072
1076
  if ( 48 <= (*p) && (*p) <= 57 )
1073
- goto tr67;
1077
+ goto tr59;
1074
1078
  } else if ( (*p) > 90 ) {
1075
1079
  if ( 97 <= (*p) && (*p) <= 122 )
1076
- goto tr67;
1080
+ goto tr59;
1077
1081
  } else
1078
- goto tr67;
1079
- goto tr73;
1080
- st57:
1082
+ goto tr59;
1083
+ goto tr65;
1084
+ st50:
1081
1085
  if ( ++p == pe )
1082
- goto _test_eof57;
1083
- case 57:
1086
+ goto _test_eof50;
1087
+ case 50:
1084
1088
  switch( (*p) ) {
1085
- case 45: goto tr67;
1086
- case 84: goto st58;
1087
- case 95: goto tr67;
1089
+ case 45: goto tr59;
1090
+ case 84: goto st51;
1091
+ case 95: goto tr59;
1088
1092
  }
1089
1093
  if ( (*p) < 65 ) {
1090
1094
  if ( 48 <= (*p) && (*p) <= 57 )
1091
- goto tr67;
1095
+ goto tr59;
1092
1096
  } else if ( (*p) > 90 ) {
1093
1097
  if ( 97 <= (*p) && (*p) <= 122 )
1094
- goto tr67;
1098
+ goto tr59;
1095
1099
  } else
1096
- goto tr67;
1097
- goto tr73;
1098
- st58:
1100
+ goto tr59;
1101
+ goto tr65;
1102
+ st51:
1099
1103
  if ( ++p == pe )
1100
- goto _test_eof58;
1101
- case 58:
1104
+ goto _test_eof51;
1105
+ case 51:
1102
1106
  switch( (*p) ) {
1103
- case 45: goto tr67;
1104
- case 69: goto st59;
1105
- case 95: goto tr67;
1107
+ case 45: goto tr59;
1108
+ case 69: goto st52;
1109
+ case 95: goto tr59;
1106
1110
  }
1107
1111
  if ( (*p) < 65 ) {
1108
1112
  if ( 48 <= (*p) && (*p) <= 57 )
1109
- goto tr67;
1113
+ goto tr59;
1110
1114
  } else if ( (*p) > 90 ) {
1111
1115
  if ( 97 <= (*p) && (*p) <= 122 )
1112
- goto tr67;
1116
+ goto tr59;
1113
1117
  } else
1114
- goto tr67;
1115
- goto tr73;
1116
- st59:
1118
+ goto tr59;
1119
+ goto tr65;
1120
+ st52:
1117
1121
  if ( ++p == pe )
1118
- goto _test_eof59;
1119
- case 59:
1122
+ goto _test_eof52;
1123
+ case 52:
1120
1124
  switch( (*p) ) {
1121
- case 45: goto tr67;
1122
- case 77: goto tr78;
1123
- case 95: goto tr67;
1125
+ case 45: goto tr59;
1126
+ case 77: goto tr70;
1127
+ case 95: goto tr59;
1124
1128
  }
1125
1129
  if ( (*p) < 65 ) {
1126
1130
  if ( 48 <= (*p) && (*p) <= 57 )
1127
- goto tr67;
1131
+ goto tr59;
1128
1132
  } else if ( (*p) > 90 ) {
1129
1133
  if ( 97 <= (*p) && (*p) <= 122 )
1130
- goto tr67;
1134
+ goto tr59;
1131
1135
  } else
1132
- goto tr67;
1133
- goto tr73;
1134
- tr83:
1136
+ goto tr59;
1137
+ goto tr65;
1138
+ tr75:
1135
1139
  #line 268 "ext/ragel/base_lexer.rl"
1136
1140
  {te = p+1;}
1137
- goto st60;
1138
- tr84:
1141
+ goto st53;
1142
+ tr76:
1139
1143
  #line 154 "ext/ragel/base_lexer.rl"
1140
1144
  {te = p+1;{
1141
1145
  callback_simple(id_on_string_dquote);
1142
1146
 
1143
- {( state->stack)[( state->top)++] = 60; goto st44;}
1147
+ {( state->stack)[( state->top)++] = 53; goto st37;}
1144
1148
  }}
1145
- goto st60;
1146
- tr85:
1149
+ goto st53;
1150
+ tr77:
1147
1151
  #line 148 "ext/ragel/base_lexer.rl"
1148
1152
  {te = p+1;{
1149
1153
  callback_simple(id_on_string_squote);
1150
1154
 
1151
- {( state->stack)[( state->top)++] = 60; goto st42;}
1155
+ {( state->stack)[( state->top)++] = 53; goto st35;}
1152
1156
  }}
1153
- goto st60;
1154
- tr88:
1157
+ goto st53;
1158
+ tr80:
1155
1159
  #line 261 "ext/ragel/base_lexer.rl"
1156
1160
  {te = p;p--;{
1157
1161
  callback(id_on_attribute, data, encoding, ts, te);
1158
1162
  }}
1159
- goto st60;
1160
- tr89:
1163
+ goto st53;
1164
+ tr81:
1161
1165
  #line 268 "ext/ragel/base_lexer.rl"
1162
1166
  {te = p;p--;}
1163
- goto st60;
1164
- tr90:
1165
- ( state->cs) = 60;
1167
+ goto st53;
1168
+ tr82:
1169
+ ( state->cs) = 53;
1166
1170
  #line 255 "ext/ragel/base_lexer.rl"
1167
1171
  {te = p+1;{
1168
1172
  callback_simple(id_on_xml_decl_end);
1169
- ( state->cs) = 34;
1173
+ ( state->cs) = 27;
1170
1174
  }}
1171
1175
  goto _again;
1172
- st60:
1176
+ st53:
1173
1177
  #line 1 "NONE"
1174
1178
  {ts = 0;}
1175
1179
  if ( ++p == pe )
1176
- goto _test_eof60;
1177
- case 60:
1180
+ goto _test_eof53;
1181
+ case 53:
1178
1182
  #line 1 "NONE"
1179
1183
  {ts = p;}
1180
- #line 1181 "ext/c/lexer.c"
1184
+ #line 1185 "ext/c/lexer.c"
1181
1185
  switch( (*p) ) {
1182
- case 34: goto tr84;
1183
- case 39: goto tr85;
1184
- case 45: goto st61;
1185
- case 63: goto st62;
1186
- case 95: goto st61;
1186
+ case 34: goto tr76;
1187
+ case 39: goto tr77;
1188
+ case 45: goto st54;
1189
+ case 63: goto st55;
1190
+ case 95: goto st54;
1187
1191
  }
1188
1192
  if ( (*p) < 65 ) {
1189
1193
  if ( 48 <= (*p) && (*p) <= 57 )
1190
- goto st61;
1194
+ goto st54;
1191
1195
  } else if ( (*p) > 90 ) {
1192
1196
  if ( 97 <= (*p) && (*p) <= 122 )
1193
- goto st61;
1197
+ goto st54;
1194
1198
  } else
1195
- goto st61;
1196
- goto tr83;
1197
- st61:
1199
+ goto st54;
1200
+ goto tr75;
1201
+ st54:
1198
1202
  if ( ++p == pe )
1199
- goto _test_eof61;
1200
- case 61:
1203
+ goto _test_eof54;
1204
+ case 54:
1201
1205
  switch( (*p) ) {
1202
- case 45: goto st61;
1203
- case 95: goto st61;
1206
+ case 45: goto st54;
1207
+ case 95: goto st54;
1204
1208
  }
1205
1209
  if ( (*p) < 65 ) {
1206
1210
  if ( 48 <= (*p) && (*p) <= 57 )
1207
- goto st61;
1211
+ goto st54;
1208
1212
  } else if ( (*p) > 90 ) {
1209
1213
  if ( 97 <= (*p) && (*p) <= 122 )
1210
- goto st61;
1214
+ goto st54;
1211
1215
  } else
1212
- goto st61;
1213
- goto tr88;
1214
- st62:
1216
+ goto st54;
1217
+ goto tr80;
1218
+ st55:
1215
1219
  if ( ++p == pe )
1216
- goto _test_eof62;
1217
- case 62:
1220
+ goto _test_eof55;
1221
+ case 55:
1218
1222
  if ( (*p) == 62 )
1219
- goto tr90;
1220
- goto tr89;
1221
- tr92:
1222
- ( state->cs) = 63;
1223
+ goto tr82;
1224
+ goto tr81;
1225
+ tr84:
1226
+ ( state->cs) = 56;
1223
1227
  #line 299 "ext/ragel/base_lexer.rl"
1224
1228
  {te = p;p--;{
1225
1229
  callback(id_on_element_name, data, encoding, ts, te);
1226
- ( state->cs) = 65;
1230
+ ( state->cs) = 58;
1227
1231
  }}
1228
1232
  goto _again;
1229
- tr93:
1233
+ tr85:
1230
1234
  #line 295 "ext/ragel/base_lexer.rl"
1231
1235
  {te = p+1;{
1232
1236
  callback(id_on_element_ns, data, encoding, ts, te - 1);
1233
1237
  }}
1234
- goto st63;
1235
- st63:
1238
+ goto st56;
1239
+ st56:
1236
1240
  #line 1 "NONE"
1237
1241
  {ts = 0;}
1238
1242
  if ( ++p == pe )
1239
- goto _test_eof63;
1240
- case 63:
1243
+ goto _test_eof56;
1244
+ case 56:
1241
1245
  #line 1 "NONE"
1242
1246
  {ts = p;}
1243
- #line 1244 "ext/c/lexer.c"
1247
+ #line 1248 "ext/c/lexer.c"
1244
1248
  switch( (*p) ) {
1245
- case 45: goto st64;
1246
- case 95: goto st64;
1249
+ case 45: goto st57;
1250
+ case 95: goto st57;
1247
1251
  }
1248
1252
  if ( (*p) < 65 ) {
1249
1253
  if ( 48 <= (*p) && (*p) <= 57 )
1250
- goto st64;
1254
+ goto st57;
1251
1255
  } else if ( (*p) > 90 ) {
1252
1256
  if ( 97 <= (*p) && (*p) <= 122 )
1253
- goto st64;
1257
+ goto st57;
1254
1258
  } else
1255
- goto st64;
1259
+ goto st57;
1256
1260
  goto st0;
1257
- st64:
1261
+ st57:
1258
1262
  if ( ++p == pe )
1259
- goto _test_eof64;
1260
- case 64:
1263
+ goto _test_eof57;
1264
+ case 57:
1261
1265
  switch( (*p) ) {
1262
- case 45: goto st64;
1263
- case 58: goto tr93;
1264
- case 95: goto st64;
1266
+ case 45: goto st57;
1267
+ case 58: goto tr85;
1268
+ case 95: goto st57;
1265
1269
  }
1266
1270
  if ( (*p) < 65 ) {
1267
1271
  if ( 48 <= (*p) && (*p) <= 57 )
1268
- goto st64;
1272
+ goto st57;
1269
1273
  } else if ( (*p) > 90 ) {
1270
1274
  if ( 97 <= (*p) && (*p) <= 122 )
1271
- goto st64;
1275
+ goto st57;
1272
1276
  } else
1273
- goto st64;
1274
- goto tr92;
1277
+ goto st57;
1278
+ goto tr84;
1275
1279
  tr29:
1276
1280
  #line 310 "ext/ragel/base_lexer.rl"
1277
1281
  {te = p+1;{
1278
1282
  callback_simple(id_advance_line);
1279
1283
  }}
1280
- goto st65;
1284
+ goto st58;
1281
1285
  tr31:
1282
- ( state->cs) = 65;
1283
- #line 344 "ext/ragel/base_lexer.rl"
1286
+ ( state->cs) = 58;
1287
+ #line 342 "ext/ragel/base_lexer.rl"
1284
1288
  {te = p+1;{
1285
1289
  callback_simple(id_on_element_end);
1286
- ( state->cs) = 34;
1290
+ ( state->cs) = 27;
1287
1291
  }}
1288
1292
  goto _again;
1289
- tr94:
1293
+ tr86:
1290
1294
  #line 308 "ext/ragel/base_lexer.rl"
1291
1295
  {te = p+1;}
1292
- goto st65;
1293
- tr96:
1296
+ goto st58;
1297
+ tr88:
1294
1298
  #line 154 "ext/ragel/base_lexer.rl"
1295
1299
  {te = p+1;{
1296
1300
  callback_simple(id_on_string_dquote);
1297
1301
 
1298
- {( state->stack)[( state->top)++] = 65; goto st44;}
1302
+ {( state->stack)[( state->top)++] = 58; goto st37;}
1299
1303
  }}
1300
- goto st65;
1301
- tr97:
1304
+ goto st58;
1305
+ tr89:
1302
1306
  #line 148 "ext/ragel/base_lexer.rl"
1303
1307
  {te = p+1;{
1304
1308
  callback_simple(id_on_string_squote);
1305
1309
 
1306
- {( state->stack)[( state->top)++] = 65; goto st42;}
1310
+ {( state->stack)[( state->top)++] = 58; goto st35;}
1307
1311
  }}
1308
- goto st65;
1309
- tr100:
1310
- ( state->cs) = 65;
1312
+ goto st58;
1313
+ tr92:
1314
+ ( state->cs) = 58;
1311
1315
  #line 328 "ext/ragel/base_lexer.rl"
1312
1316
  {te = p+1;{
1313
1317
  callback_simple(id_on_element_open_end);
1314
1318
 
1315
- if ( inside_html_script_p() )
1319
+ if ( literal_html_element_p() )
1316
1320
  {
1317
- mark = ts + 1;
1318
-
1319
- ( state->cs) = 71;
1321
+ ( state->cs) = 64;
1320
1322
  }
1321
1323
  else
1322
1324
  {
1323
- ( state->cs) = 34;
1325
+ ( state->cs) = 27;
1324
1326
  }
1325
1327
  }}
1326
1328
  goto _again;
1327
- tr101:
1329
+ tr93:
1328
1330
  #line 319 "ext/ragel/base_lexer.rl"
1329
1331
  {te = p;p--;{
1330
1332
  callback(id_on_attribute, data, encoding, ts, te);
1331
1333
  }}
1332
- goto st65;
1333
- tr102:
1334
+ goto st58;
1335
+ tr94:
1334
1336
  #line 315 "ext/ragel/base_lexer.rl"
1335
1337
  {te = p+1;{
1336
1338
  callback(id_on_attribute_ns, data, encoding, ts, te - 1);
1337
1339
  }}
1338
- goto st65;
1339
- st65:
1340
+ goto st58;
1341
+ st58:
1340
1342
  #line 1 "NONE"
1341
1343
  {ts = 0;}
1342
1344
  if ( ++p == pe )
1343
- goto _test_eof65;
1344
- case 65:
1345
+ goto _test_eof58;
1346
+ case 58:
1345
1347
  #line 1 "NONE"
1346
1348
  {ts = p;}
1347
- #line 1348 "ext/c/lexer.c"
1349
+ #line 1350 "ext/c/lexer.c"
1348
1350
  switch( (*p) ) {
1349
- case 9: goto tr94;
1351
+ case 9: goto tr86;
1350
1352
  case 10: goto tr29;
1351
1353
  case 13: goto st25;
1352
- case 32: goto tr94;
1353
- case 34: goto tr96;
1354
- case 39: goto tr97;
1355
- case 45: goto st66;
1354
+ case 32: goto tr86;
1355
+ case 34: goto tr88;
1356
+ case 39: goto tr89;
1357
+ case 45: goto st59;
1356
1358
  case 47: goto st26;
1357
- case 61: goto tr94;
1358
- case 62: goto tr100;
1359
- case 95: goto st66;
1359
+ case 61: goto tr86;
1360
+ case 62: goto tr92;
1361
+ case 95: goto st59;
1360
1362
  }
1361
1363
  if ( (*p) < 65 ) {
1362
1364
  if ( 48 <= (*p) && (*p) <= 57 )
1363
- goto st66;
1365
+ goto st59;
1364
1366
  } else if ( (*p) > 90 ) {
1365
1367
  if ( 97 <= (*p) && (*p) <= 122 )
1366
- goto st66;
1368
+ goto st59;
1367
1369
  } else
1368
- goto st66;
1370
+ goto st59;
1369
1371
  goto st0;
1370
1372
  st25:
1371
1373
  if ( ++p == pe )
@@ -1374,24 +1376,24 @@ case 25:
1374
1376
  if ( (*p) == 10 )
1375
1377
  goto tr29;
1376
1378
  goto st0;
1377
- st66:
1379
+ st59:
1378
1380
  if ( ++p == pe )
1379
- goto _test_eof66;
1380
- case 66:
1381
+ goto _test_eof59;
1382
+ case 59:
1381
1383
  switch( (*p) ) {
1382
- case 45: goto st66;
1383
- case 58: goto tr102;
1384
- case 95: goto st66;
1384
+ case 45: goto st59;
1385
+ case 58: goto tr94;
1386
+ case 95: goto st59;
1385
1387
  }
1386
1388
  if ( (*p) < 65 ) {
1387
1389
  if ( 48 <= (*p) && (*p) <= 57 )
1388
- goto st66;
1390
+ goto st59;
1389
1391
  } else if ( (*p) > 90 ) {
1390
1392
  if ( 97 <= (*p) && (*p) <= 122 )
1391
- goto st66;
1393
+ goto st59;
1392
1394
  } else
1393
- goto st66;
1394
- goto tr101;
1395
+ goto st59;
1396
+ goto tr93;
1395
1397
  st26:
1396
1398
  if ( ++p == pe )
1397
1399
  goto _test_eof26;
@@ -1399,9 +1401,9 @@ case 26:
1399
1401
  if ( (*p) == 62 )
1400
1402
  goto tr31;
1401
1403
  goto st0;
1402
- tr105:
1403
- ( state->cs) = 67;
1404
- #line 373 "ext/ragel/base_lexer.rl"
1404
+ tr97:
1405
+ ( state->cs) = 60;
1406
+ #line 371 "ext/ragel/base_lexer.rl"
1405
1407
  {te = p;p--;{
1406
1408
  callback(id_on_text, data, encoding, ts, te);
1407
1409
 
@@ -1412,12 +1414,12 @@ tr105:
1412
1414
  lines = 0;
1413
1415
  }
1414
1416
 
1415
- ( state->cs) = 34;
1417
+ ( state->cs) = 27;
1416
1418
  }}
1417
1419
  goto _again;
1418
- tr107:
1419
- ( state->cs) = 67;
1420
- #line 387 "ext/ragel/base_lexer.rl"
1420
+ tr99:
1421
+ ( state->cs) = 60;
1422
+ #line 385 "ext/ragel/base_lexer.rl"
1421
1423
  {te = p+1;{
1422
1424
  callback(id_on_text, data, encoding, ts, mark);
1423
1425
 
@@ -1431,12 +1433,12 @@ tr107:
1431
1433
  lines = 0;
1432
1434
  }
1433
1435
 
1434
- ( state->cs) = 34;
1436
+ ( state->cs) = 27;
1435
1437
  }}
1436
1438
  goto _again;
1437
- tr108:
1438
- ( state->cs) = 67;
1439
- #line 373 "ext/ragel/base_lexer.rl"
1439
+ tr100:
1440
+ ( state->cs) = 60;
1441
+ #line 371 "ext/ragel/base_lexer.rl"
1440
1442
  {te = p+1;{
1441
1443
  callback(id_on_text, data, encoding, ts, te);
1442
1444
 
@@ -1447,103 +1449,134 @@ tr108:
1447
1449
  lines = 0;
1448
1450
  }
1449
1451
 
1450
- ( state->cs) = 34;
1452
+ ( state->cs) = 27;
1451
1453
  }}
1452
1454
  goto _again;
1453
- st67:
1455
+ st60:
1454
1456
  #line 1 "NONE"
1455
1457
  {ts = 0;}
1456
1458
  if ( ++p == pe )
1457
- goto _test_eof67;
1458
- case 67:
1459
+ goto _test_eof60;
1460
+ case 60:
1459
1461
  #line 1 "NONE"
1460
1462
  {ts = p;}
1461
- #line 1462 "ext/c/lexer.c"
1463
+ #line 1464 "ext/c/lexer.c"
1462
1464
  if ( (*p) == 60 )
1463
- goto tr104;
1464
- goto tr103;
1465
- tr103:
1465
+ goto tr96;
1466
+ goto tr95;
1467
+ tr95:
1466
1468
  #line 51 "ext/ragel/base_lexer.rl"
1467
1469
  {
1468
1470
  if ( (*p) == '\n' ) lines++;
1469
1471
  }
1470
- goto st68;
1471
- st68:
1472
+ goto st61;
1473
+ st61:
1472
1474
  if ( ++p == pe )
1473
- goto _test_eof68;
1474
- case 68:
1475
- #line 1476 "ext/c/lexer.c"
1475
+ goto _test_eof61;
1476
+ case 61:
1477
+ #line 1478 "ext/c/lexer.c"
1476
1478
  if ( (*p) == 60 )
1477
- goto tr106;
1478
- goto tr103;
1479
- tr106:
1479
+ goto tr98;
1480
+ goto tr95;
1481
+ tr98:
1480
1482
  #line 51 "ext/ragel/base_lexer.rl"
1481
1483
  {
1482
1484
  if ( (*p) == '\n' ) lines++;
1483
1485
  }
1484
- #line 387 "ext/ragel/base_lexer.rl"
1486
+ #line 385 "ext/ragel/base_lexer.rl"
1485
1487
  { mark = p; }
1486
- goto st69;
1487
- st69:
1488
+ goto st62;
1489
+ st62:
1488
1490
  if ( ++p == pe )
1489
- goto _test_eof69;
1490
- case 69:
1491
- #line 1492 "ext/c/lexer.c"
1491
+ goto _test_eof62;
1492
+ case 62:
1493
+ #line 1494 "ext/c/lexer.c"
1492
1494
  switch( (*p) ) {
1493
- case 33: goto tr107;
1494
- case 45: goto tr107;
1495
- case 60: goto tr106;
1496
- case 63: goto tr107;
1497
- case 95: goto tr107;
1495
+ case 33: goto tr99;
1496
+ case 45: goto tr99;
1497
+ case 60: goto tr98;
1498
+ case 63: goto tr99;
1499
+ case 95: goto tr99;
1498
1500
  }
1499
1501
  if ( (*p) < 65 ) {
1500
1502
  if ( 47 <= (*p) && (*p) <= 57 )
1501
- goto tr107;
1503
+ goto tr99;
1502
1504
  } else if ( (*p) > 90 ) {
1503
1505
  if ( 97 <= (*p) && (*p) <= 122 )
1504
- goto tr107;
1506
+ goto tr99;
1505
1507
  } else
1506
- goto tr107;
1507
- goto tr103;
1508
- tr104:
1508
+ goto tr99;
1509
+ goto tr95;
1510
+ tr96:
1509
1511
  #line 51 "ext/ragel/base_lexer.rl"
1510
1512
  {
1511
1513
  if ( (*p) == '\n' ) lines++;
1512
1514
  }
1513
- #line 387 "ext/ragel/base_lexer.rl"
1515
+ #line 385 "ext/ragel/base_lexer.rl"
1514
1516
  { mark = p; }
1515
- goto st70;
1516
- st70:
1517
+ goto st63;
1518
+ st63:
1517
1519
  if ( ++p == pe )
1518
- goto _test_eof70;
1519
- case 70:
1520
- #line 1521 "ext/c/lexer.c"
1520
+ goto _test_eof63;
1521
+ case 63:
1522
+ #line 1523 "ext/c/lexer.c"
1521
1523
  switch( (*p) ) {
1522
- case 33: goto tr108;
1523
- case 45: goto tr108;
1524
- case 60: goto tr106;
1525
- case 63: goto tr108;
1526
- case 95: goto tr108;
1524
+ case 33: goto tr100;
1525
+ case 45: goto tr100;
1526
+ case 60: goto tr98;
1527
+ case 63: goto tr100;
1528
+ case 95: goto tr100;
1527
1529
  }
1528
1530
  if ( (*p) < 65 ) {
1529
1531
  if ( 47 <= (*p) && (*p) <= 57 )
1530
- goto tr108;
1532
+ goto tr100;
1531
1533
  } else if ( (*p) > 90 ) {
1532
1534
  if ( 97 <= (*p) && (*p) <= 122 )
1533
- goto tr108;
1535
+ goto tr100;
1534
1536
  } else
1535
- goto tr108;
1536
- goto tr103;
1537
- tr32:
1538
- #line 425 "ext/ragel/base_lexer.rl"
1539
- {{p = ((te))-1;}}
1540
- goto st71;
1541
- tr39:
1542
- ( state->cs) = 71;
1543
- #line 408 "ext/ragel/base_lexer.rl"
1537
+ goto tr100;
1538
+ goto tr95;
1539
+ tr103:
1540
+ #line 1 "NONE"
1541
+ { switch( ( state->act) ) {
1542
+ case 0:
1543
+ {{goto st0;}}
1544
+ break;
1545
+ case 33:
1546
+ {{p = ((te))-1;}
1547
+ callback(id_on_text, data, encoding, ts, te);
1548
+
1549
+ if ( lines > 0 )
1550
+ {
1551
+ advance_line(lines);
1552
+
1553
+ lines = 0;
1554
+ }
1555
+ }
1556
+ break;
1557
+ }
1558
+ }
1559
+ goto st64;
1560
+ tr104:
1561
+ #line 409 "ext/ragel/base_lexer.rl"
1562
+ {te = p;p--;{
1563
+ callback(id_on_text, data, encoding, ts, te);
1564
+
1565
+ if ( lines > 0 )
1566
+ {
1567
+ advance_line(lines);
1568
+
1569
+ lines = 0;
1570
+ }
1571
+ }}
1572
+ goto st64;
1573
+ tr113:
1574
+ ( state->cs) = 64;
1575
+ #line 420 "ext/ragel/base_lexer.rl"
1544
1576
  {te = p+1;{
1545
- callback(id_on_text, data, encoding, mark, ts);
1577
+ callback(id_on_text, data, encoding, ts, mark);
1546
1578
 
1579
+ p = mark - 1;
1547
1580
  mark = 0;
1548
1581
 
1549
1582
  if ( lines > 0 )
@@ -1553,38 +1586,141 @@ tr39:
1553
1586
  lines = 0;
1554
1587
  }
1555
1588
 
1556
- callback_simple(id_on_element_end);
1557
-
1558
- ( state->cs) = 34;
1589
+ ( state->cs) = 27;
1559
1590
  }}
1560
1591
  goto _again;
1592
+ st64:
1593
+ #line 1 "NONE"
1594
+ {ts = 0;}
1595
+ #line 1 "NONE"
1596
+ {( state->act) = 0;}
1597
+ if ( ++p == pe )
1598
+ goto _test_eof64;
1599
+ case 64:
1600
+ #line 1 "NONE"
1601
+ {ts = p;}
1602
+ #line 1603 "ext/c/lexer.c"
1603
+ if ( (*p) == 60 )
1604
+ goto tr102;
1605
+ goto tr101;
1606
+ tr101:
1607
+ #line 1 "NONE"
1608
+ {te = p+1;}
1609
+ #line 51 "ext/ragel/base_lexer.rl"
1610
+ {
1611
+ if ( (*p) == '\n' ) lines++;
1612
+ }
1613
+ #line 409 "ext/ragel/base_lexer.rl"
1614
+ {( state->act) = 33;}
1615
+ goto st65;
1616
+ st65:
1617
+ if ( ++p == pe )
1618
+ goto _test_eof65;
1619
+ case 65:
1620
+ #line 1621 "ext/c/lexer.c"
1621
+ if ( (*p) == 60 )
1622
+ goto tr102;
1623
+ goto tr101;
1624
+ tr102:
1625
+ #line 51 "ext/ragel/base_lexer.rl"
1626
+ {
1627
+ if ( (*p) == '\n' ) lines++;
1628
+ }
1629
+ #line 420 "ext/ragel/base_lexer.rl"
1630
+ { mark = p; }
1631
+ goto st66;
1632
+ st66:
1633
+ if ( ++p == pe )
1634
+ goto _test_eof66;
1635
+ case 66:
1636
+ #line 1637 "ext/c/lexer.c"
1637
+ switch( (*p) ) {
1638
+ case 47: goto tr105;
1639
+ case 60: goto tr102;
1640
+ }
1641
+ goto tr101;
1642
+ tr105:
1643
+ #line 51 "ext/ragel/base_lexer.rl"
1644
+ {
1645
+ if ( (*p) == '\n' ) lines++;
1646
+ }
1647
+ goto st67;
1648
+ st67:
1649
+ if ( ++p == pe )
1650
+ goto _test_eof67;
1651
+ case 67:
1652
+ #line 1653 "ext/c/lexer.c"
1653
+ switch( (*p) ) {
1654
+ case 60: goto tr102;
1655
+ case 115: goto tr106;
1656
+ }
1657
+ goto tr101;
1658
+ tr106:
1659
+ #line 51 "ext/ragel/base_lexer.rl"
1660
+ {
1661
+ if ( (*p) == '\n' ) lines++;
1662
+ }
1663
+ goto st68;
1664
+ st68:
1665
+ if ( ++p == pe )
1666
+ goto _test_eof68;
1667
+ case 68:
1668
+ #line 1669 "ext/c/lexer.c"
1669
+ switch( (*p) ) {
1670
+ case 60: goto tr102;
1671
+ case 99: goto tr107;
1672
+ case 116: goto tr108;
1673
+ }
1674
+ goto tr101;
1675
+ tr107:
1676
+ #line 51 "ext/ragel/base_lexer.rl"
1677
+ {
1678
+ if ( (*p) == '\n' ) lines++;
1679
+ }
1680
+ goto st69;
1681
+ st69:
1682
+ if ( ++p == pe )
1683
+ goto _test_eof69;
1684
+ case 69:
1685
+ #line 1686 "ext/c/lexer.c"
1686
+ switch( (*p) ) {
1687
+ case 60: goto tr102;
1688
+ case 114: goto tr109;
1689
+ }
1690
+ goto tr101;
1561
1691
  tr109:
1562
1692
  #line 51 "ext/ragel/base_lexer.rl"
1563
1693
  {
1564
1694
  if ( (*p) == '\n' ) lines++;
1565
1695
  }
1566
- #line 425 "ext/ragel/base_lexer.rl"
1567
- {te = p+1;}
1568
- goto st71;
1569
- tr111:
1570
- #line 425 "ext/ragel/base_lexer.rl"
1571
- {te = p;p--;}
1696
+ goto st70;
1697
+ st70:
1698
+ if ( ++p == pe )
1699
+ goto _test_eof70;
1700
+ case 70:
1701
+ #line 1702 "ext/c/lexer.c"
1702
+ switch( (*p) ) {
1703
+ case 60: goto tr102;
1704
+ case 105: goto tr110;
1705
+ }
1706
+ goto tr101;
1707
+ tr110:
1708
+ #line 51 "ext/ragel/base_lexer.rl"
1709
+ {
1710
+ if ( (*p) == '\n' ) lines++;
1711
+ }
1572
1712
  goto st71;
1573
1713
  st71:
1574
- #line 1 "NONE"
1575
- {ts = 0;}
1576
1714
  if ( ++p == pe )
1577
1715
  goto _test_eof71;
1578
1716
  case 71:
1579
- #line 1 "NONE"
1580
- {ts = p;}
1581
- #line 1582 "ext/c/lexer.c"
1582
- if ( (*p) == 60 )
1583
- goto tr110;
1584
- goto tr109;
1585
- tr110:
1586
- #line 1 "NONE"
1587
- {te = p+1;}
1717
+ #line 1718 "ext/c/lexer.c"
1718
+ switch( (*p) ) {
1719
+ case 60: goto tr102;
1720
+ case 112: goto tr111;
1721
+ }
1722
+ goto tr101;
1723
+ tr111:
1588
1724
  #line 51 "ext/ragel/base_lexer.rl"
1589
1725
  {
1590
1726
  if ( (*p) == '\n' ) lines++;
@@ -1594,62 +1730,79 @@ st72:
1594
1730
  if ( ++p == pe )
1595
1731
  goto _test_eof72;
1596
1732
  case 72:
1597
- #line 1598 "ext/c/lexer.c"
1598
- if ( (*p) == 47 )
1599
- goto st27;
1600
- goto tr111;
1601
- st27:
1602
- if ( ++p == pe )
1603
- goto _test_eof27;
1604
- case 27:
1605
- if ( (*p) == 115 )
1606
- goto st28;
1607
- goto tr32;
1608
- st28:
1609
- if ( ++p == pe )
1610
- goto _test_eof28;
1611
- case 28:
1612
- if ( (*p) == 99 )
1613
- goto st29;
1614
- goto tr32;
1615
- st29:
1616
- if ( ++p == pe )
1617
- goto _test_eof29;
1618
- case 29:
1619
- if ( (*p) == 114 )
1620
- goto st30;
1621
- goto tr32;
1622
- st30:
1733
+ #line 1734 "ext/c/lexer.c"
1734
+ switch( (*p) ) {
1735
+ case 60: goto tr102;
1736
+ case 116: goto tr112;
1737
+ }
1738
+ goto tr101;
1739
+ tr112:
1740
+ #line 51 "ext/ragel/base_lexer.rl"
1741
+ {
1742
+ if ( (*p) == '\n' ) lines++;
1743
+ }
1744
+ goto st73;
1745
+ st73:
1623
1746
  if ( ++p == pe )
1624
- goto _test_eof30;
1625
- case 30:
1626
- if ( (*p) == 105 )
1627
- goto st31;
1628
- goto tr32;
1629
- st31:
1747
+ goto _test_eof73;
1748
+ case 73:
1749
+ #line 1750 "ext/c/lexer.c"
1750
+ switch( (*p) ) {
1751
+ case 60: goto tr102;
1752
+ case 62: goto tr113;
1753
+ }
1754
+ goto tr101;
1755
+ tr108:
1756
+ #line 51 "ext/ragel/base_lexer.rl"
1757
+ {
1758
+ if ( (*p) == '\n' ) lines++;
1759
+ }
1760
+ goto st74;
1761
+ st74:
1630
1762
  if ( ++p == pe )
1631
- goto _test_eof31;
1632
- case 31:
1633
- if ( (*p) == 112 )
1634
- goto st32;
1635
- goto tr32;
1636
- st32:
1763
+ goto _test_eof74;
1764
+ case 74:
1765
+ #line 1766 "ext/c/lexer.c"
1766
+ switch( (*p) ) {
1767
+ case 60: goto tr102;
1768
+ case 121: goto tr114;
1769
+ }
1770
+ goto tr101;
1771
+ tr114:
1772
+ #line 51 "ext/ragel/base_lexer.rl"
1773
+ {
1774
+ if ( (*p) == '\n' ) lines++;
1775
+ }
1776
+ goto st75;
1777
+ st75:
1637
1778
  if ( ++p == pe )
1638
- goto _test_eof32;
1639
- case 32:
1640
- if ( (*p) == 116 )
1641
- goto st33;
1642
- goto tr32;
1643
- st33:
1779
+ goto _test_eof75;
1780
+ case 75:
1781
+ #line 1782 "ext/c/lexer.c"
1782
+ switch( (*p) ) {
1783
+ case 60: goto tr102;
1784
+ case 108: goto tr115;
1785
+ }
1786
+ goto tr101;
1787
+ tr115:
1788
+ #line 51 "ext/ragel/base_lexer.rl"
1789
+ {
1790
+ if ( (*p) == '\n' ) lines++;
1791
+ }
1792
+ goto st76;
1793
+ st76:
1644
1794
  if ( ++p == pe )
1645
- goto _test_eof33;
1646
- case 33:
1647
- if ( (*p) == 62 )
1648
- goto tr39;
1649
- goto tr32;
1795
+ goto _test_eof76;
1796
+ case 76:
1797
+ #line 1798 "ext/c/lexer.c"
1798
+ switch( (*p) ) {
1799
+ case 60: goto tr102;
1800
+ case 101: goto tr112;
1650
1801
  }
1651
- _test_eof34: ( state->cs) = 34; goto _test_eof;
1652
- _test_eof35: ( state->cs) = 35; goto _test_eof;
1802
+ goto tr101;
1803
+ }
1804
+ _test_eof27: ( state->cs) = 27; goto _test_eof;
1805
+ _test_eof28: ( state->cs) = 28; goto _test_eof;
1653
1806
  _test_eof1: ( state->cs) = 1; goto _test_eof;
1654
1807
  _test_eof2: ( state->cs) = 2; goto _test_eof;
1655
1808
  _test_eof3: ( state->cs) = 3; goto _test_eof;
@@ -1662,7 +1815,7 @@ case 33:
1662
1815
  _test_eof10: ( state->cs) = 10; goto _test_eof;
1663
1816
  _test_eof11: ( state->cs) = 11; goto _test_eof;
1664
1817
  _test_eof12: ( state->cs) = 12; goto _test_eof;
1665
- _test_eof36: ( state->cs) = 36; goto _test_eof;
1818
+ _test_eof29: ( state->cs) = 29; goto _test_eof;
1666
1819
  _test_eof13: ( state->cs) = 13; goto _test_eof;
1667
1820
  _test_eof14: ( state->cs) = 14; goto _test_eof;
1668
1821
  _test_eof15: ( state->cs) = 15; goto _test_eof;
@@ -1675,6 +1828,13 @@ case 33:
1675
1828
  _test_eof22: ( state->cs) = 22; goto _test_eof;
1676
1829
  _test_eof23: ( state->cs) = 23; goto _test_eof;
1677
1830
  _test_eof24: ( state->cs) = 24; goto _test_eof;
1831
+ _test_eof30: ( state->cs) = 30; goto _test_eof;
1832
+ _test_eof31: ( state->cs) = 31; goto _test_eof;
1833
+ _test_eof32: ( state->cs) = 32; goto _test_eof;
1834
+ _test_eof33: ( state->cs) = 33; goto _test_eof;
1835
+ _test_eof34: ( state->cs) = 34; goto _test_eof;
1836
+ _test_eof35: ( state->cs) = 35; goto _test_eof;
1837
+ _test_eof36: ( state->cs) = 36; goto _test_eof;
1678
1838
  _test_eof37: ( state->cs) = 37; goto _test_eof;
1679
1839
  _test_eof38: ( state->cs) = 38; goto _test_eof;
1680
1840
  _test_eof39: ( state->cs) = 39; goto _test_eof;
@@ -1697,35 +1857,32 @@ case 33:
1697
1857
  _test_eof56: ( state->cs) = 56; goto _test_eof;
1698
1858
  _test_eof57: ( state->cs) = 57; goto _test_eof;
1699
1859
  _test_eof58: ( state->cs) = 58; goto _test_eof;
1860
+ _test_eof25: ( state->cs) = 25; goto _test_eof;
1700
1861
  _test_eof59: ( state->cs) = 59; goto _test_eof;
1862
+ _test_eof26: ( state->cs) = 26; goto _test_eof;
1701
1863
  _test_eof60: ( state->cs) = 60; goto _test_eof;
1702
1864
  _test_eof61: ( state->cs) = 61; goto _test_eof;
1703
1865
  _test_eof62: ( state->cs) = 62; goto _test_eof;
1704
1866
  _test_eof63: ( state->cs) = 63; goto _test_eof;
1705
1867
  _test_eof64: ( state->cs) = 64; goto _test_eof;
1706
1868
  _test_eof65: ( state->cs) = 65; goto _test_eof;
1707
- _test_eof25: ( state->cs) = 25; goto _test_eof;
1708
1869
  _test_eof66: ( state->cs) = 66; goto _test_eof;
1709
- _test_eof26: ( state->cs) = 26; goto _test_eof;
1710
1870
  _test_eof67: ( state->cs) = 67; goto _test_eof;
1711
1871
  _test_eof68: ( state->cs) = 68; goto _test_eof;
1712
1872
  _test_eof69: ( state->cs) = 69; goto _test_eof;
1713
1873
  _test_eof70: ( state->cs) = 70; goto _test_eof;
1714
1874
  _test_eof71: ( state->cs) = 71; goto _test_eof;
1715
1875
  _test_eof72: ( state->cs) = 72; goto _test_eof;
1716
- _test_eof27: ( state->cs) = 27; goto _test_eof;
1717
- _test_eof28: ( state->cs) = 28; goto _test_eof;
1718
- _test_eof29: ( state->cs) = 29; goto _test_eof;
1719
- _test_eof30: ( state->cs) = 30; goto _test_eof;
1720
- _test_eof31: ( state->cs) = 31; goto _test_eof;
1721
- _test_eof32: ( state->cs) = 32; goto _test_eof;
1722
- _test_eof33: ( state->cs) = 33; goto _test_eof;
1876
+ _test_eof73: ( state->cs) = 73; goto _test_eof;
1877
+ _test_eof74: ( state->cs) = 74; goto _test_eof;
1878
+ _test_eof75: ( state->cs) = 75; goto _test_eof;
1879
+ _test_eof76: ( state->cs) = 76; goto _test_eof;
1723
1880
 
1724
1881
  _test_eof: {}
1725
1882
  if ( p == eof )
1726
1883
  {
1727
1884
  switch ( ( state->cs) ) {
1728
- case 35: goto tr42;
1885
+ case 28: goto tr34;
1729
1886
  case 1: goto tr0;
1730
1887
  case 2: goto tr0;
1731
1888
  case 3: goto tr0;
@@ -1738,7 +1895,7 @@ case 33:
1738
1895
  case 10: goto tr0;
1739
1896
  case 11: goto tr0;
1740
1897
  case 12: goto tr0;
1741
- case 36: goto tr46;
1898
+ case 29: goto tr38;
1742
1899
  case 13: goto tr0;
1743
1900
  case 14: goto tr0;
1744
1901
  case 15: goto tr0;
@@ -1751,39 +1908,43 @@ case 33:
1751
1908
  case 22: goto tr0;
1752
1909
  case 23: goto tr0;
1753
1910
  case 24: goto tr0;
1754
- case 37: goto tr47;
1755
- case 38: goto tr48;
1756
- case 39: goto tr48;
1757
- case 41: goto tr53;
1758
- case 43: goto tr57;
1759
- case 45: goto tr60;
1760
- case 47: goto tr63;
1761
- case 49: goto tr72;
1762
- case 50: goto tr73;
1763
- case 51: goto tr73;
1764
- case 52: goto tr73;
1765
- case 53: goto tr73;
1766
- case 54: goto tr73;
1767
- case 55: goto tr73;
1768
- case 56: goto tr73;
1769
- case 57: goto tr73;
1770
- case 58: goto tr73;
1771
- case 59: goto tr73;
1772
- case 61: goto tr88;
1773
- case 62: goto tr89;
1774
- case 64: goto tr92;
1775
- case 66: goto tr101;
1776
- case 68: goto tr105;
1777
- case 69: goto tr105;
1778
- case 70: goto tr105;
1779
- case 72: goto tr111;
1780
- case 27: goto tr32;
1781
- case 28: goto tr32;
1782
- case 29: goto tr32;
1783
- case 30: goto tr32;
1784
- case 31: goto tr32;
1785
- case 32: goto tr32;
1786
- case 33: goto tr32;
1911
+ case 30: goto tr39;
1912
+ case 31: goto tr40;
1913
+ case 32: goto tr40;
1914
+ case 34: goto tr45;
1915
+ case 36: goto tr49;
1916
+ case 38: goto tr52;
1917
+ case 40: goto tr55;
1918
+ case 42: goto tr64;
1919
+ case 43: goto tr65;
1920
+ case 44: goto tr65;
1921
+ case 45: goto tr65;
1922
+ case 46: goto tr65;
1923
+ case 47: goto tr65;
1924
+ case 48: goto tr65;
1925
+ case 49: goto tr65;
1926
+ case 50: goto tr65;
1927
+ case 51: goto tr65;
1928
+ case 52: goto tr65;
1929
+ case 54: goto tr80;
1930
+ case 55: goto tr81;
1931
+ case 57: goto tr84;
1932
+ case 59: goto tr93;
1933
+ case 61: goto tr97;
1934
+ case 62: goto tr97;
1935
+ case 63: goto tr97;
1936
+ case 65: goto tr103;
1937
+ case 66: goto tr104;
1938
+ case 67: goto tr104;
1939
+ case 68: goto tr104;
1940
+ case 69: goto tr104;
1941
+ case 70: goto tr104;
1942
+ case 71: goto tr104;
1943
+ case 72: goto tr104;
1944
+ case 73: goto tr104;
1945
+ case 74: goto tr104;
1946
+ case 75: goto tr104;
1947
+ case 76: goto tr104;
1787
1948
  }
1788
1949
  }
1789
1950
 
@@ -1843,8 +2004,8 @@ void Init_liboga_xml_lexer()
1843
2004
  VALUE mXML = rb_const_get(mOga, rb_intern("XML"));
1844
2005
  VALUE cLexer = rb_define_class_under(mXML, "Lexer", rb_cObject);
1845
2006
 
1846
- id_advance_line = rb_intern("advance_line");
1847
- id_inside_html_script_p = rb_intern("inside_html_script?");
2007
+ id_advance_line = rb_intern("advance_line");
2008
+ id_literal_html_element_p = rb_intern("literal_html_element?");
1848
2009
 
1849
2010
  rb_define_method(cLexer, "advance_native", oga_xml_lexer_advance, 1);
1850
2011
  rb_define_method(cLexer, "reset_native", oga_xml_lexer_reset, 0);