wikitext 1.0.3 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
data/ext/parser.c CHANGED
@@ -158,6 +158,56 @@ VALUE Wikitext_parser_benchmarking_tokenize(VALUE self, VALUE string)
158
158
  return Qnil;
159
159
  }
160
160
 
161
+ VALUE Wikitext_parser_fulltext_tokenize(int argc, VALUE *argv, VALUE self)
162
+ {
163
+ // process arguments
164
+ VALUE string, options;
165
+ if (rb_scan_args(argc, argv, "11", &string, &options) == 1) // 1 mandatory argument, 1 optional argument
166
+ options = Qnil;
167
+ if (NIL_P(string))
168
+ return Qnil;
169
+ string = StringValue(string);
170
+ VALUE tokens = rb_ary_new();
171
+
172
+ // check instance variables
173
+ VALUE min = rb_iv_get(self, "@minimum_fulltext_token_length");
174
+
175
+ // process options hash (can override instance variables)
176
+ if (!NIL_P(options) && TYPE(options) == T_HASH)
177
+ {
178
+ if (rb_funcall(options, rb_intern("has_key?"), 1, ID2SYM(rb_intern("minimum"))) == Qtrue)
179
+ min = rb_hash_aref(options, ID2SYM(rb_intern("minimum")));
180
+ }
181
+ int min_len = NIL_P(min) ? 3 : NUM2INT(min);
182
+ if (min_len < 0)
183
+ min_len = 0;
184
+
185
+ // set up scanner
186
+ char *p = RSTRING_PTR(string);
187
+ long len = RSTRING_LEN(string);
188
+ char *pe = p + len;
189
+ token_t token;
190
+ token_t *_token = &token;
191
+ next_token(&token, NULL, p, pe);
192
+ while (token.type != END_OF_FILE)
193
+ {
194
+ switch (token.type)
195
+ {
196
+ case URI:
197
+ case MAIL:
198
+ case ALNUM:
199
+ if (TOKEN_LEN(_token) >= min_len)
200
+ rb_ary_push(tokens, TOKEN_TEXT(_token));
201
+ break;
202
+ default:
203
+ // ignore everything else
204
+ break;
205
+ }
206
+ next_token(&token, &token, NULL, pe);
207
+ }
208
+ return tokens;
209
+ }
210
+
161
211
  // we downcase "in place", overwriting the original contents of the buffer and returning the same string
162
212
  VALUE _Wikitext_downcase(VALUE string)
163
213
  {
@@ -849,39 +899,42 @@ VALUE Wikitext_parser_initialize(int argc, VALUE *argv, VALUE self)
849
899
  options = Qnil;
850
900
 
851
901
  // defaults
852
- VALUE autolink = Qtrue;
853
- VALUE line_ending = rb_str_new2("\n");
854
- VALUE external_link_class = rb_str_new2("external");
855
- VALUE mailto_class = rb_str_new2("mailto");
856
- VALUE internal_link_prefix = rb_str_new2("/wiki/");
857
- VALUE img_prefix = rb_str_new2("/images/");
858
- VALUE space_to_underscore = Qfalse;
859
- VALUE treat_slash_as_special = Qtrue;
902
+ VALUE autolink = Qtrue;
903
+ VALUE line_ending = rb_str_new2("\n");
904
+ VALUE external_link_class = rb_str_new2("external");
905
+ VALUE mailto_class = rb_str_new2("mailto");
906
+ VALUE internal_link_prefix = rb_str_new2("/wiki/");
907
+ VALUE img_prefix = rb_str_new2("/images/");
908
+ VALUE space_to_underscore = Qfalse;
909
+ VALUE treat_slash_as_special = Qtrue;
910
+ VALUE minimum_fulltext_token_length = INT2NUM(3);
860
911
 
861
912
  // process options hash (override defaults)
862
913
  if (!NIL_P(options) && TYPE(options) == T_HASH)
863
914
  {
864
915
  #define OVERRIDE_IF_SET(name) rb_funcall(options, rb_intern("has_key?"), 1, ID2SYM(rb_intern(#name))) == Qtrue ? \
865
916
  rb_hash_aref(options, ID2SYM(rb_intern(#name))) : name
866
- autolink = OVERRIDE_IF_SET(autolink);
867
- line_ending = OVERRIDE_IF_SET(line_ending);
868
- external_link_class = OVERRIDE_IF_SET(external_link_class);
869
- mailto_class = OVERRIDE_IF_SET(mailto_class);
870
- internal_link_prefix = OVERRIDE_IF_SET(internal_link_prefix);
871
- img_prefix = OVERRIDE_IF_SET(img_prefix);
872
- space_to_underscore = OVERRIDE_IF_SET(space_to_underscore);
873
- treat_slash_as_special = OVERRIDE_IF_SET(treat_slash_as_special);
917
+ autolink = OVERRIDE_IF_SET(autolink);
918
+ line_ending = OVERRIDE_IF_SET(line_ending);
919
+ external_link_class = OVERRIDE_IF_SET(external_link_class);
920
+ mailto_class = OVERRIDE_IF_SET(mailto_class);
921
+ internal_link_prefix = OVERRIDE_IF_SET(internal_link_prefix);
922
+ img_prefix = OVERRIDE_IF_SET(img_prefix);
923
+ space_to_underscore = OVERRIDE_IF_SET(space_to_underscore);
924
+ treat_slash_as_special = OVERRIDE_IF_SET(treat_slash_as_special);
925
+ minimum_fulltext_token_length = OVERRIDE_IF_SET(minimum_fulltext_token_length);
874
926
  }
875
927
 
876
928
  // no need to call super here; rb_call_super()
877
- rb_iv_set(self, "@autolink", autolink);
878
- rb_iv_set(self, "@line_ending", line_ending);
879
- rb_iv_set(self, "@external_link_class", external_link_class);
880
- rb_iv_set(self, "@mailto_class", mailto_class);
881
- rb_iv_set(self, "@internal_link_prefix", internal_link_prefix);
882
- rb_iv_set(self, "@img_prefix", img_prefix);
883
- rb_iv_set(self, "@space_to_underscore", space_to_underscore);
884
- rb_iv_set(self, "@treat_slash_as_special", treat_slash_as_special);
929
+ rb_iv_set(self, "@autolink", autolink);
930
+ rb_iv_set(self, "@line_ending", line_ending);
931
+ rb_iv_set(self, "@external_link_class", external_link_class);
932
+ rb_iv_set(self, "@mailto_class", mailto_class);
933
+ rb_iv_set(self, "@internal_link_prefix", internal_link_prefix);
934
+ rb_iv_set(self, "@img_prefix", img_prefix);
935
+ rb_iv_set(self, "@space_to_underscore", space_to_underscore);
936
+ rb_iv_set(self, "@treat_slash_as_special", treat_slash_as_special);
937
+ rb_iv_set(self, "@minimum_fulltext_token_length", minimum_fulltext_token_length);
885
938
  return self;
886
939
  }
887
940
 
@@ -907,10 +960,13 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
907
960
  VALUE indent = Qnil;
908
961
  if (!NIL_P(options) && TYPE(options) == T_HASH)
909
962
  {
910
- indent = rb_hash_aref(options, ID2SYM(rb_intern("indent")));
911
- base_indent = NUM2INT(indent);
912
- if (base_indent < 0)
913
- base_indent = 0;
963
+ if (rb_funcall(options, rb_intern("has_key?"), 1, ID2SYM(rb_intern("indent"))) == Qtrue)
964
+ {
965
+ indent = rb_hash_aref(options, ID2SYM(rb_intern("indent")));
966
+ base_indent = NUM2INT(indent);
967
+ if (base_indent < 0)
968
+ base_indent = 0;
969
+ }
914
970
  }
915
971
 
916
972
  // set up scanner
@@ -1912,7 +1968,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1912
1968
  // example [[foo €]]
1913
1969
  // renders <a href="/wiki/Foo_%E2%82%AC">foo €</a>
1914
1970
  // we'll impose similar restrictions here for the link target; allowed tokens will be:
1915
- // SPACE, SPECIAL_URI_CHARS, PRINTABLE, DEFAULT, QUOT and AMP
1971
+ // SPACE, SPECIAL_URI_CHARS, PRINTABLE, ALNUM, DEFAULT, QUOT and AMP
1916
1972
  // everything else will be rejected
1917
1973
  case LINK_START:
1918
1974
  i = NIL_P(parser->capture) ? parser->output : parser->capture;
@@ -1947,6 +2003,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1947
2003
  if (type == SPACE ||
1948
2004
  type == SPECIAL_URI_CHARS ||
1949
2005
  type == PRINTABLE ||
2006
+ type == ALNUM ||
1950
2007
  type == DEFAULT ||
1951
2008
  type == QUOT ||
1952
2009
  type == QUOT_ENTITY ||
@@ -2218,13 +2275,13 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2218
2275
  _Wikitext_pop_excess_elements(parser);
2219
2276
  _Wikitext_start_para_if_necessary(parser);
2220
2277
 
2221
- // scan ahead consuming PRINTABLE and SPECIAL_URI_CHARS tokens
2278
+ // scan ahead consuming PRINTABLE, ALNUM and SPECIAL_URI_CHARS tokens
2222
2279
  // will cheat here and abuse the link_target capture buffer to accumulate text
2223
2280
  if (NIL_P(parser->link_target))
2224
2281
  parser->link_target = rb_str_new2("");
2225
2282
  while (NEXT_TOKEN(), (type = token->type))
2226
2283
  {
2227
- if (type == PRINTABLE || type == SPECIAL_URI_CHARS)
2284
+ if (type == PRINTABLE || type == ALNUM || type == SPECIAL_URI_CHARS)
2228
2285
  rb_str_cat(parser->link_target, token->start, TOKEN_LEN(token));
2229
2286
  else if (type == IMG_END)
2230
2287
  {
@@ -2332,6 +2389,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2332
2389
 
2333
2390
  case SPECIAL_URI_CHARS:
2334
2391
  case PRINTABLE:
2392
+ case ALNUM:
2335
2393
  case IMG_END:
2336
2394
  case LEFT_CURLY:
2337
2395
  case RIGHT_CURLY:
data/ext/parser.h CHANGED
@@ -20,6 +20,8 @@ VALUE Wikitext_parser_tokenize(VALUE self, VALUE string);
20
20
 
21
21
  VALUE Wikitext_parser_benchmarking_tokenize(VALUE self, VALUE string);
22
22
 
23
+ VALUE Wikitext_parser_fulltext_tokenize(int argc, VALUE *argv, VALUE self);
24
+
23
25
  VALUE Wikitext_parser_sanitize_link_target(VALUE self, VALUE string);
24
26
 
25
27
  VALUE Wikitext_parser_encode_link_target(VALUE self, VALUE in);
data/ext/token.c CHANGED
@@ -85,6 +85,7 @@ VALUE Wikitext_parser_token_types(VALUE self)
85
85
  SET_TOKEN_TYPE(CRLF);
86
86
  SET_TOKEN_TYPE(SPECIAL_URI_CHARS);
87
87
  SET_TOKEN_TYPE(PRINTABLE);
88
+ SET_TOKEN_TYPE(ALNUM);
88
89
  SET_TOKEN_TYPE(DEFAULT);
89
90
  SET_TOKEN_TYPE(END_OF_FILE);
90
91
 
data/ext/token.h CHANGED
@@ -91,6 +91,7 @@ enum token_types {
91
91
  CRLF,
92
92
  SPECIAL_URI_CHARS,
93
93
  PRINTABLE,
94
+ ALNUM,
94
95
  DEFAULT,
95
96
  END_OF_FILE
96
97
  };
data/ext/wikitext.c CHANGED
@@ -32,6 +32,7 @@ void Init_wikitext()
32
32
  rb_define_method(cWikitextParser, "profiling_parse", Wikitext_parser_profiling_parse, 1);
33
33
  rb_define_method(cWikitextParser, "tokenize", Wikitext_parser_tokenize, 1);
34
34
  rb_define_method(cWikitextParser, "benchmarking_tokenize", Wikitext_parser_benchmarking_tokenize, 1);
35
+ rb_define_method(cWikitextParser, "fulltext_tokenize", Wikitext_parser_fulltext_tokenize, -1);
35
36
  rb_define_singleton_method(cWikitextParser, "sanitize_link_target", Wikitext_parser_sanitize_link_target, 1);
36
37
  rb_define_singleton_method(cWikitextParser, "encode_link_target", Wikitext_parser_encode_link_target, 1);
37
38
  rb_define_singleton_method(cWikitextParser, "encode_special_link_target", Wikitext_parser_encode_special_link_target, 1);
@@ -43,6 +44,7 @@ void Init_wikitext()
43
44
  rb_define_attr(cWikitextParser, "autolink", Qtrue, Qtrue);
44
45
  rb_define_attr(cWikitextParser, "treat_slash_as_special", Qtrue, Qtrue);
45
46
  rb_define_attr(cWikitextParser, "space_to_underscore", Qtrue, Qtrue);
47
+ rb_define_attr(cWikitextParser, "minimum_fulltext_token_length", Qtrue, Qtrue);
46
48
 
47
49
  // Wikitext::Parser::Error
48
50
  eWikitextParserError = rb_define_class_under(cWikitextParser, "Error", rb_eException);
data/ext/wikitext_ragel.c CHANGED
@@ -38,7 +38,7 @@ static const int wikitext_error = 0;
38
38
 
39
39
  static const int wikitext_en_main = 94;
40
40
 
41
- #line 455 "wikitext_ragel.rl"
41
+ #line 461 "wikitext_ragel.rl"
42
42
 
43
43
 
44
44
  // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
@@ -88,7 +88,7 @@ void next_token(token_t *out, token_t *last_token, char *p, char *pe)
88
88
  te = 0;
89
89
  act = 0;
90
90
  }
91
- #line 497 "wikitext_ragel.rl"
91
+ #line 503 "wikitext_ragel.rl"
92
92
 
93
93
  #line 94 "wikitext_ragel.c"
94
94
  {
@@ -102,7 +102,7 @@ tr0:
102
102
  out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
103
103
  (*p & 0x3f);
104
104
  }
105
- #line 446 "wikitext_ragel.rl"
105
+ #line 452 "wikitext_ragel.rl"
106
106
  {te = p+1;{
107
107
  EMIT(DEFAULT);
108
108
  out->column_stop = out->column_start + 1;
@@ -116,7 +116,7 @@ tr3:
116
116
  ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
117
117
  (*p & 0x3f);
118
118
  }
119
- #line 446 "wikitext_ragel.rl"
119
+ #line 452 "wikitext_ragel.rl"
120
120
  {te = p+1;{
121
121
  EMIT(DEFAULT);
122
122
  out->column_stop = out->column_start + 1;
@@ -131,7 +131,7 @@ tr6:
131
131
  ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
132
132
  (*p & 0x3f);
133
133
  }
134
- #line 446 "wikitext_ragel.rl"
134
+ #line 452 "wikitext_ragel.rl"
135
135
  {te = p+1;{
136
136
  EMIT(DEFAULT);
137
137
  out->column_stop = out->column_start + 1;
@@ -202,6 +202,12 @@ tr23:
202
202
  }
203
203
  break;
204
204
  case 42:
205
+ {{p = ((te))-1;}
206
+ EMIT(ALNUM);
207
+ {p++; cs = 94; goto _out;}
208
+ }
209
+ break;
210
+ case 43:
205
211
  {{p = ((te))-1;}
206
212
  EMIT(PRINTABLE);
207
213
  {p++; cs = 94; goto _out;}
@@ -303,9 +309,9 @@ tr94:
303
309
  }}
304
310
  goto st94;
305
311
  tr95:
306
- #line 426 "wikitext_ragel.rl"
312
+ #line 420 "wikitext_ragel.rl"
307
313
  {{p = ((te))-1;}{
308
- EMIT(PRINTABLE);
314
+ EMIT(ALNUM);
309
315
  {p++; cs = 94; goto _out;}
310
316
  }}
311
317
  goto st94;
@@ -321,7 +327,7 @@ tr110:
321
327
  {
322
328
  out->code_point = *p & 0x7f;
323
329
  }
324
- #line 446 "wikitext_ragel.rl"
330
+ #line 452 "wikitext_ragel.rl"
325
331
  {te = p+1;{
326
332
  EMIT(DEFAULT);
327
333
  out->column_stop = out->column_start + 1;
@@ -376,21 +382,21 @@ tr120:
376
382
  {p++; cs = 94; goto _out;}
377
383
  }}
378
384
  goto st94;
379
- tr132:
385
+ tr133:
380
386
  #line 158 "wikitext_ragel.rl"
381
387
  {te = p+1;{
382
388
  EMIT(TT);
383
389
  {p++; cs = 94; goto _out;}
384
390
  }}
385
391
  goto st94;
386
- tr134:
392
+ tr135:
387
393
  #line 305 "wikitext_ragel.rl"
388
394
  {te = p+1;{
389
395
  EMIT(SEPARATOR);
390
396
  {p++; cs = 94; goto _out;}
391
397
  }}
392
398
  goto st94;
393
- tr136:
399
+ tr137:
394
400
  #line 401 "wikitext_ragel.rl"
395
401
  {te = p;p--;{
396
402
  EMIT(CRLF);
@@ -399,7 +405,7 @@ tr136:
399
405
  {p++; cs = 94; goto _out;}
400
406
  }}
401
407
  goto st94;
402
- tr137:
408
+ tr138:
403
409
  #line 401 "wikitext_ragel.rl"
404
410
  {te = p+1;{
405
411
  EMIT(CRLF);
@@ -408,7 +414,7 @@ tr137:
408
414
  {p++; cs = 94; goto _out;}
409
415
  }}
410
416
  goto st94;
411
- tr138:
417
+ tr139:
412
418
  #line 190 "wikitext_ragel.rl"
413
419
  {te = p;p--;{
414
420
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
@@ -421,28 +427,28 @@ tr138:
421
427
  {p++; cs = 94; goto _out;}
422
428
  }}
423
429
  goto st94;
424
- tr140:
430
+ tr141:
425
431
  #line 414 "wikitext_ragel.rl"
426
432
  {te = p;p--;{
427
433
  EMIT(SPECIAL_URI_CHARS);
428
434
  {p++; cs = 94; goto _out;}
429
435
  }}
430
436
  goto st94;
431
- tr141:
432
- #line 426 "wikitext_ragel.rl"
437
+ tr142:
438
+ #line 432 "wikitext_ragel.rl"
433
439
  {te = p;p--;{
434
440
  EMIT(PRINTABLE);
435
441
  {p++; cs = 94; goto _out;}
436
442
  }}
437
443
  goto st94;
438
- tr142:
444
+ tr143:
439
445
  #line 359 "wikitext_ragel.rl"
440
446
  {te = p;p--;{
441
447
  EMIT(AMP);
442
448
  {p++; cs = 94; goto _out;}
443
449
  }}
444
450
  goto st94;
445
- tr146:
451
+ tr147:
446
452
  #line 116 "wikitext_ragel.rl"
447
453
  {te = p;p--;{
448
454
  if (DISTANCE() == 5)
@@ -461,7 +467,7 @@ tr146:
461
467
  {p++; cs = 94; goto _out;}
462
468
  }}
463
469
  goto st94;
464
- tr150:
470
+ tr151:
465
471
  #line 116 "wikitext_ragel.rl"
466
472
  {te = p+1;{
467
473
  if (DISTANCE() == 5)
@@ -480,7 +486,7 @@ tr150:
480
486
  {p++; cs = 94; goto _out;}
481
487
  }}
482
488
  goto st94;
483
- tr152:
489
+ tr153:
484
490
  #line 287 "wikitext_ragel.rl"
485
491
  {te = p;p--;{
486
492
  EMIT(MAIL);
@@ -488,13 +494,20 @@ tr152:
488
494
  }}
489
495
  goto st94;
490
496
  tr157:
497
+ #line 420 "wikitext_ragel.rl"
498
+ {te = p;p--;{
499
+ EMIT(ALNUM);
500
+ {p++; cs = 94; goto _out;}
501
+ }}
502
+ goto st94;
503
+ tr158:
491
504
  #line 365 "wikitext_ragel.rl"
492
505
  {te = p;p--;{
493
506
  EMIT(LESS);
494
507
  {p++; cs = 94; goto _out;}
495
508
  }}
496
509
  goto st94;
497
- tr165:
510
+ tr166:
498
511
  #line 228 "wikitext_ragel.rl"
499
512
  {te = p;p--;{
500
513
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
@@ -548,7 +561,7 @@ tr165:
548
561
  {p++; cs = 94; goto _out;}
549
562
  }}
550
563
  goto st94;
551
- tr167:
564
+ tr168:
552
565
  #line 177 "wikitext_ragel.rl"
553
566
  {te = p;p--;{
554
567
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
@@ -561,7 +574,7 @@ tr167:
561
574
  {p++; cs = 94; goto _out;}
562
575
  }}
563
576
  goto st94;
564
- tr168:
577
+ tr169:
565
578
  #line 177 "wikitext_ragel.rl"
566
579
  {te = p+1;{
567
580
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
@@ -574,63 +587,63 @@ tr168:
574
587
  {p++; cs = 94; goto _out;}
575
588
  }}
576
589
  goto st94;
577
- tr172:
590
+ tr173:
578
591
  #line 281 "wikitext_ragel.rl"
579
592
  {te = p;p--;{
580
593
  EMIT(URI);
581
594
  {p++; cs = 94; goto _out;}
582
595
  }}
583
596
  goto st94;
584
- tr186:
597
+ tr187:
585
598
  #line 311 "wikitext_ragel.rl"
586
599
  {te = p;p--;{
587
600
  EMIT(EXT_LINK_START);
588
601
  {p++; cs = 94; goto _out;}
589
602
  }}
590
603
  goto st94;
591
- tr187:
604
+ tr188:
592
605
  #line 293 "wikitext_ragel.rl"
593
606
  {te = p+1;{
594
607
  EMIT(LINK_START);
595
608
  {p++; cs = 94; goto _out;}
596
609
  }}
597
610
  goto st94;
598
- tr188:
611
+ tr189:
599
612
  #line 317 "wikitext_ragel.rl"
600
613
  {te = p;p--;{
601
614
  EMIT(EXT_LINK_END);
602
615
  {p++; cs = 94; goto _out;}
603
616
  }}
604
617
  goto st94;
605
- tr189:
618
+ tr190:
606
619
  #line 299 "wikitext_ragel.rl"
607
620
  {te = p+1;{
608
621
  EMIT(LINK_END);
609
622
  {p++; cs = 94; goto _out;}
610
623
  }}
611
624
  goto st94;
612
- tr190:
625
+ tr191:
613
626
  #line 389 "wikitext_ragel.rl"
614
627
  {te = p;p--;{
615
628
  EMIT(LEFT_CURLY);
616
629
  {p++; cs = 94; goto _out;}
617
630
  }}
618
631
  goto st94;
619
- tr191:
632
+ tr192:
620
633
  #line 377 "wikitext_ragel.rl"
621
634
  {te = p+1;{
622
635
  EMIT(IMG_START);
623
636
  {p++; cs = 94; goto _out;}
624
637
  }}
625
638
  goto st94;
626
- tr192:
639
+ tr193:
627
640
  #line 395 "wikitext_ragel.rl"
628
641
  {te = p;p--;{
629
642
  EMIT(RIGHT_CURLY);
630
643
  {p++; cs = 94; goto _out;}
631
644
  }}
632
645
  goto st94;
633
- tr193:
646
+ tr194:
634
647
  #line 383 "wikitext_ragel.rl"
635
648
  {te = p+1;{
636
649
  EMIT(IMG_END);
@@ -645,7 +658,7 @@ st94:
645
658
  case 94:
646
659
  #line 1 "wikitext_ragel.rl"
647
660
  {ts = p;}
648
- #line 649 "wikitext_ragel.c"
661
+ #line 662 "wikitext_ragel.c"
649
662
  switch( (*p) ) {
650
663
  case 10: goto tr111;
651
664
  case 13: goto tr112;
@@ -657,27 +670,29 @@ case 94:
657
670
  case 39: goto st100;
658
671
  case 42: goto tr120;
659
672
  case 43: goto st98;
673
+ case 45: goto tr121;
660
674
  case 46: goto tr122;
661
675
  case 47: goto st98;
662
- case 60: goto tr123;
663
- case 61: goto tr124;
664
- case 62: goto tr125;
676
+ case 60: goto tr124;
677
+ case 61: goto tr125;
678
+ case 62: goto tr126;
665
679
  case 64: goto st98;
666
- case 70: goto tr126;
667
- case 72: goto tr127;
668
- case 77: goto tr128;
669
- case 83: goto tr129;
680
+ case 70: goto tr127;
681
+ case 72: goto tr128;
682
+ case 77: goto tr129;
683
+ case 83: goto tr130;
670
684
  case 91: goto st136;
671
685
  case 92: goto st98;
672
686
  case 93: goto st137;
673
687
  case 94: goto st98;
674
- case 96: goto tr132;
675
- case 102: goto tr126;
676
- case 104: goto tr127;
677
- case 109: goto tr128;
678
- case 115: goto tr129;
688
+ case 95: goto tr121;
689
+ case 96: goto tr133;
690
+ case 102: goto tr127;
691
+ case 104: goto tr128;
692
+ case 109: goto tr129;
693
+ case 115: goto tr130;
679
694
  case 123: goto st138;
680
- case 124: goto tr134;
695
+ case 124: goto tr135;
681
696
  case 125: goto st139;
682
697
  case 126: goto st98;
683
698
  case 127: goto tr110;
@@ -695,17 +710,17 @@ case 94:
695
710
  } else
696
711
  goto st2;
697
712
  } else if ( (*p) > 37 ) {
698
- if ( (*p) < 45 ) {
713
+ if ( (*p) < 48 ) {
699
714
  if ( 40 <= (*p) && (*p) <= 44 )
700
715
  goto st97;
701
716
  } else if ( (*p) > 57 ) {
702
717
  if ( (*p) > 63 ) {
703
718
  if ( 65 <= (*p) && (*p) <= 122 )
704
- goto tr121;
719
+ goto tr123;
705
720
  } else if ( (*p) >= 58 )
706
721
  goto st97;
707
722
  } else
708
- goto tr121;
723
+ goto tr123;
709
724
  } else
710
725
  goto st98;
711
726
  goto st0;
@@ -764,10 +779,10 @@ st95:
764
779
  if ( ++p == pe )
765
780
  goto _test_eof95;
766
781
  case 95:
767
- #line 768 "wikitext_ragel.c"
782
+ #line 783 "wikitext_ragel.c"
768
783
  if ( (*p) == 10 )
769
- goto tr137;
770
- goto tr136;
784
+ goto tr138;
785
+ goto tr137;
771
786
  tr113:
772
787
  #line 36 "wikitext_ragel.rl"
773
788
  {
@@ -778,10 +793,10 @@ st96:
778
793
  if ( ++p == pe )
779
794
  goto _test_eof96;
780
795
  case 96:
781
- #line 782 "wikitext_ragel.c"
796
+ #line 797 "wikitext_ragel.c"
782
797
  if ( (*p) == 32 )
783
798
  goto st96;
784
- goto tr138;
799
+ goto tr139;
785
800
  st97:
786
801
  if ( ++p == pe )
787
802
  goto _test_eof97;
@@ -797,7 +812,7 @@ case 97:
797
812
  goto st97;
798
813
  } else if ( (*p) >= 40 )
799
814
  goto st97;
800
- goto tr140;
815
+ goto tr141;
801
816
  st98:
802
817
  if ( ++p == pe )
803
818
  goto _test_eof98;
@@ -805,24 +820,17 @@ case 98:
805
820
  switch( (*p) ) {
806
821
  case 43: goto st98;
807
822
  case 45: goto st98;
823
+ case 47: goto st98;
824
+ case 64: goto st98;
808
825
  case 92: goto st98;
809
826
  case 126: goto st98;
810
827
  }
811
- if ( (*p) < 64 ) {
812
- if ( (*p) > 37 ) {
813
- if ( 47 <= (*p) && (*p) <= 57 )
814
- goto st98;
815
- } else if ( (*p) >= 36 )
828
+ if ( (*p) > 37 ) {
829
+ if ( 94 <= (*p) && (*p) <= 95 )
816
830
  goto st98;
817
- } else if ( (*p) > 90 ) {
818
- if ( (*p) > 95 ) {
819
- if ( 97 <= (*p) && (*p) <= 122 )
820
- goto st98;
821
- } else if ( (*p) >= 94 )
822
- goto st98;
823
- } else
831
+ } else if ( (*p) >= 36 )
824
832
  goto st98;
825
- goto tr141;
833
+ goto tr142;
826
834
  tr118:
827
835
  #line 1 "wikitext_ragel.rl"
828
836
  {te = p+1;}
@@ -831,7 +839,7 @@ st99:
831
839
  if ( ++p == pe )
832
840
  goto _test_eof99;
833
841
  case 99:
834
- #line 835 "wikitext_ragel.c"
842
+ #line 843 "wikitext_ragel.c"
835
843
  switch( (*p) ) {
836
844
  case 35: goto st7;
837
845
  case 97: goto st13;
@@ -842,7 +850,7 @@ case 99:
842
850
  goto st11;
843
851
  } else if ( (*p) >= 65 )
844
852
  goto st11;
845
- goto tr142;
853
+ goto tr143;
846
854
  st7:
847
855
  if ( ++p == pe )
848
856
  goto _test_eof7;
@@ -1036,61 +1044,61 @@ st100:
1036
1044
  case 100:
1037
1045
  if ( (*p) == 39 )
1038
1046
  goto st101;
1039
- goto tr146;
1047
+ goto tr147;
1040
1048
  st101:
1041
1049
  if ( ++p == pe )
1042
1050
  goto _test_eof101;
1043
1051
  case 101:
1044
1052
  if ( (*p) == 39 )
1045
1053
  goto st102;
1046
- goto tr146;
1054
+ goto tr147;
1047
1055
  st102:
1048
1056
  if ( ++p == pe )
1049
1057
  goto _test_eof102;
1050
1058
  case 102:
1051
1059
  if ( (*p) == 39 )
1052
1060
  goto st103;
1053
- goto tr146;
1061
+ goto tr147;
1054
1062
  st103:
1055
1063
  if ( ++p == pe )
1056
1064
  goto _test_eof103;
1057
1065
  case 103:
1058
1066
  if ( (*p) == 39 )
1059
- goto tr150;
1060
- goto tr146;
1067
+ goto tr151;
1068
+ goto tr147;
1061
1069
  tr121:
1062
1070
  #line 1 "wikitext_ragel.rl"
1063
1071
  {te = p+1;}
1064
- #line 426 "wikitext_ragel.rl"
1065
- {act = 42;}
1072
+ #line 432 "wikitext_ragel.rl"
1073
+ {act = 43;}
1066
1074
  goto st104;
1067
1075
  st104:
1068
1076
  if ( ++p == pe )
1069
1077
  goto _test_eof104;
1070
1078
  case 104:
1071
- #line 1072 "wikitext_ragel.c"
1079
+ #line 1080 "wikitext_ragel.c"
1072
1080
  switch( (*p) ) {
1073
1081
  case 43: goto st98;
1074
- case 46: goto st20;
1082
+ case 45: goto tr121;
1075
1083
  case 47: goto st98;
1076
- case 64: goto st109;
1084
+ case 64: goto tr152;
1077
1085
  case 92: goto st98;
1078
1086
  case 94: goto st98;
1079
1087
  case 95: goto tr121;
1080
1088
  case 126: goto st98;
1081
1089
  }
1082
- if ( (*p) < 45 ) {
1090
+ if ( (*p) < 46 ) {
1083
1091
  if ( 36 <= (*p) && (*p) <= 37 )
1084
1092
  goto st98;
1085
1093
  } else if ( (*p) > 57 ) {
1086
1094
  if ( (*p) > 90 ) {
1087
1095
  if ( 97 <= (*p) && (*p) <= 122 )
1088
- goto tr121;
1096
+ goto st20;
1089
1097
  } else if ( (*p) >= 65 )
1090
- goto tr121;
1098
+ goto st20;
1091
1099
  } else
1092
- goto tr121;
1093
- goto tr141;
1100
+ goto st20;
1101
+ goto tr142;
1094
1102
  st20:
1095
1103
  if ( ++p == pe )
1096
1104
  goto _test_eof20;
@@ -1177,7 +1185,7 @@ st105:
1177
1185
  if ( ++p == pe )
1178
1186
  goto _test_eof105;
1179
1187
  case 105:
1180
- #line 1181 "wikitext_ragel.c"
1188
+ #line 1189 "wikitext_ragel.c"
1181
1189
  if ( (*p) == 46 )
1182
1190
  goto st23;
1183
1191
  if ( (*p) < 65 ) {
@@ -1185,11 +1193,11 @@ case 105:
1185
1193
  goto st22;
1186
1194
  } else if ( (*p) > 90 ) {
1187
1195
  if ( 97 <= (*p) && (*p) <= 122 )
1188
- goto tr153;
1196
+ goto tr154;
1189
1197
  } else
1190
- goto tr153;
1191
- goto tr152;
1192
- tr153:
1198
+ goto tr154;
1199
+ goto tr153;
1200
+ tr154:
1193
1201
  #line 1 "wikitext_ragel.rl"
1194
1202
  {te = p+1;}
1195
1203
  #line 287 "wikitext_ragel.rl"
@@ -1199,7 +1207,7 @@ st106:
1199
1207
  if ( ++p == pe )
1200
1208
  goto _test_eof106;
1201
1209
  case 106:
1202
- #line 1203 "wikitext_ragel.c"
1210
+ #line 1211 "wikitext_ragel.c"
1203
1211
  if ( (*p) == 46 )
1204
1212
  goto st23;
1205
1213
  if ( (*p) < 65 ) {
@@ -1207,11 +1215,11 @@ case 106:
1207
1215
  goto st22;
1208
1216
  } else if ( (*p) > 90 ) {
1209
1217
  if ( 97 <= (*p) && (*p) <= 122 )
1210
- goto tr154;
1218
+ goto tr155;
1211
1219
  } else
1212
- goto tr154;
1213
- goto tr152;
1214
- tr154:
1220
+ goto tr155;
1221
+ goto tr153;
1222
+ tr155:
1215
1223
  #line 1 "wikitext_ragel.rl"
1216
1224
  {te = p+1;}
1217
1225
  #line 287 "wikitext_ragel.rl"
@@ -1221,7 +1229,7 @@ st107:
1221
1229
  if ( ++p == pe )
1222
1230
  goto _test_eof107;
1223
1231
  case 107:
1224
- #line 1225 "wikitext_ragel.c"
1232
+ #line 1233 "wikitext_ragel.c"
1225
1233
  if ( (*p) == 46 )
1226
1234
  goto st23;
1227
1235
  if ( (*p) < 65 ) {
@@ -1229,11 +1237,11 @@ case 107:
1229
1237
  goto st22;
1230
1238
  } else if ( (*p) > 90 ) {
1231
1239
  if ( 97 <= (*p) && (*p) <= 122 )
1232
- goto tr155;
1240
+ goto tr156;
1233
1241
  } else
1234
- goto tr155;
1235
- goto tr152;
1236
- tr155:
1242
+ goto tr156;
1243
+ goto tr153;
1244
+ tr156:
1237
1245
  #line 1 "wikitext_ragel.rl"
1238
1246
  {te = p+1;}
1239
1247
  #line 287 "wikitext_ragel.rl"
@@ -1243,7 +1251,7 @@ st108:
1243
1251
  if ( ++p == pe )
1244
1252
  goto _test_eof108;
1245
1253
  case 108:
1246
- #line 1247 "wikitext_ragel.c"
1254
+ #line 1255 "wikitext_ragel.c"
1247
1255
  if ( (*p) == 46 )
1248
1256
  goto st23;
1249
1257
  if ( (*p) < 65 ) {
@@ -1254,11 +1262,18 @@ case 108:
1254
1262
  goto st22;
1255
1263
  } else
1256
1264
  goto st22;
1257
- goto tr152;
1265
+ goto tr153;
1266
+ tr152:
1267
+ #line 1 "wikitext_ragel.rl"
1268
+ {te = p+1;}
1269
+ #line 432 "wikitext_ragel.rl"
1270
+ {act = 43;}
1271
+ goto st109;
1258
1272
  st109:
1259
1273
  if ( ++p == pe )
1260
1274
  goto _test_eof109;
1261
1275
  case 109:
1276
+ #line 1277 "wikitext_ragel.c"
1262
1277
  switch( (*p) ) {
1263
1278
  case 43: goto st98;
1264
1279
  case 45: goto st98;
@@ -1270,65 +1285,29 @@ case 109:
1270
1285
  if ( (*p) < 65 ) {
1271
1286
  if ( (*p) > 37 ) {
1272
1287
  if ( 48 <= (*p) && (*p) <= 57 )
1273
- goto tr156;
1288
+ goto st22;
1274
1289
  } else if ( (*p) >= 36 )
1275
1290
  goto st98;
1276
1291
  } else if ( (*p) > 90 ) {
1277
1292
  if ( (*p) > 95 ) {
1278
1293
  if ( 97 <= (*p) && (*p) <= 122 )
1279
- goto tr156;
1294
+ goto st22;
1280
1295
  } else if ( (*p) >= 94 )
1281
1296
  goto st98;
1282
1297
  } else
1283
- goto tr156;
1284
- goto tr141;
1285
- tr156:
1298
+ goto st22;
1299
+ goto tr142;
1300
+ tr122:
1286
1301
  #line 1 "wikitext_ragel.rl"
1287
1302
  {te = p+1;}
1288
- #line 426 "wikitext_ragel.rl"
1289
- {act = 42;}
1303
+ #line 414 "wikitext_ragel.rl"
1304
+ {act = 41;}
1290
1305
  goto st110;
1291
1306
  st110:
1292
1307
  if ( ++p == pe )
1293
1308
  goto _test_eof110;
1294
1309
  case 110:
1295
- #line 1296 "wikitext_ragel.c"
1296
- switch( (*p) ) {
1297
- case 43: goto st98;
1298
- case 46: goto st23;
1299
- case 64: goto st98;
1300
- case 92: goto st98;
1301
- case 126: goto st98;
1302
- }
1303
- if ( (*p) < 48 ) {
1304
- if ( (*p) > 37 ) {
1305
- if ( 45 <= (*p) && (*p) <= 47 )
1306
- goto st98;
1307
- } else if ( (*p) >= 36 )
1308
- goto st98;
1309
- } else if ( (*p) > 57 ) {
1310
- if ( (*p) < 94 ) {
1311
- if ( 65 <= (*p) && (*p) <= 90 )
1312
- goto tr156;
1313
- } else if ( (*p) > 95 ) {
1314
- if ( 97 <= (*p) && (*p) <= 122 )
1315
- goto tr156;
1316
- } else
1317
- goto st98;
1318
- } else
1319
- goto tr156;
1320
- goto tr141;
1321
- tr122:
1322
- #line 1 "wikitext_ragel.rl"
1323
- {te = p+1;}
1324
- #line 414 "wikitext_ragel.rl"
1325
- {act = 41;}
1326
- goto st111;
1327
- st111:
1328
- if ( ++p == pe )
1329
- goto _test_eof111;
1330
- case 111:
1331
- #line 1332 "wikitext_ragel.c"
1310
+ #line 1311 "wikitext_ragel.c"
1332
1311
  switch( (*p) ) {
1333
1312
  case 33: goto st97;
1334
1313
  case 44: goto st97;
@@ -1352,8 +1331,35 @@ case 111:
1352
1331
  goto st20;
1353
1332
  } else
1354
1333
  goto st97;
1355
- goto tr140;
1334
+ goto tr141;
1356
1335
  tr123:
1336
+ #line 1 "wikitext_ragel.rl"
1337
+ {te = p+1;}
1338
+ #line 420 "wikitext_ragel.rl"
1339
+ {act = 42;}
1340
+ goto st111;
1341
+ st111:
1342
+ if ( ++p == pe )
1343
+ goto _test_eof111;
1344
+ case 111:
1345
+ #line 1346 "wikitext_ragel.c"
1346
+ switch( (*p) ) {
1347
+ case 64: goto st21;
1348
+ case 95: goto st20;
1349
+ }
1350
+ if ( (*p) < 48 ) {
1351
+ if ( 45 <= (*p) && (*p) <= 46 )
1352
+ goto st20;
1353
+ } else if ( (*p) > 57 ) {
1354
+ if ( (*p) > 90 ) {
1355
+ if ( 97 <= (*p) && (*p) <= 122 )
1356
+ goto tr123;
1357
+ } else if ( (*p) >= 65 )
1358
+ goto tr123;
1359
+ } else
1360
+ goto tr123;
1361
+ goto tr157;
1362
+ tr124:
1357
1363
  #line 1 "wikitext_ragel.rl"
1358
1364
  {te = p+1;}
1359
1365
  goto st112;
@@ -1361,7 +1367,7 @@ st112:
1361
1367
  if ( ++p == pe )
1362
1368
  goto _test_eof112;
1363
1369
  case 112:
1364
- #line 1365 "wikitext_ragel.c"
1370
+ #line 1371 "wikitext_ragel.c"
1365
1371
  switch( (*p) ) {
1366
1372
  case 47: goto st25;
1367
1373
  case 66: goto st55;
@@ -1377,7 +1383,7 @@ case 112:
1377
1383
  case 115: goto st76;
1378
1384
  case 116: goto st82;
1379
1385
  }
1380
- goto tr157;
1386
+ goto tr158;
1381
1387
  st25:
1382
1388
  if ( ++p == pe )
1383
1389
  goto _test_eof25;
@@ -1895,7 +1901,7 @@ case 83:
1895
1901
  if ( (*p) == 62 )
1896
1902
  goto tr94;
1897
1903
  goto tr30;
1898
- tr124:
1904
+ tr125:
1899
1905
  #line 36 "wikitext_ragel.rl"
1900
1906
  {
1901
1907
  MARK();
@@ -1905,20 +1911,20 @@ st113:
1905
1911
  if ( ++p == pe )
1906
1912
  goto _test_eof113;
1907
1913
  case 113:
1908
- #line 1909 "wikitext_ragel.c"
1914
+ #line 1915 "wikitext_ragel.c"
1909
1915
  switch( (*p) ) {
1910
1916
  case 32: goto st114;
1911
- case 61: goto tr124;
1917
+ case 61: goto tr125;
1912
1918
  }
1913
- goto tr165;
1919
+ goto tr166;
1914
1920
  st114:
1915
1921
  if ( ++p == pe )
1916
1922
  goto _test_eof114;
1917
1923
  case 114:
1918
1924
  if ( (*p) == 32 )
1919
1925
  goto st114;
1920
- goto tr165;
1921
- tr125:
1926
+ goto tr166;
1927
+ tr126:
1922
1928
  #line 36 "wikitext_ragel.rl"
1923
1929
  {
1924
1930
  MARK();
@@ -1928,49 +1934,43 @@ st115:
1928
1934
  if ( ++p == pe )
1929
1935
  goto _test_eof115;
1930
1936
  case 115:
1931
- #line 1932 "wikitext_ragel.c"
1937
+ #line 1938 "wikitext_ragel.c"
1932
1938
  if ( (*p) == 32 )
1933
- goto tr168;
1934
- goto tr167;
1935
- tr126:
1939
+ goto tr169;
1940
+ goto tr168;
1941
+ tr127:
1936
1942
  #line 1 "wikitext_ragel.rl"
1937
1943
  {te = p+1;}
1938
- #line 426 "wikitext_ragel.rl"
1944
+ #line 420 "wikitext_ragel.rl"
1939
1945
  {act = 42;}
1940
1946
  goto st116;
1941
1947
  st116:
1942
1948
  if ( ++p == pe )
1943
1949
  goto _test_eof116;
1944
1950
  case 116:
1945
- #line 1946 "wikitext_ragel.c"
1951
+ #line 1952 "wikitext_ragel.c"
1946
1952
  switch( (*p) ) {
1947
- case 43: goto st98;
1948
- case 46: goto st20;
1949
- case 47: goto st98;
1950
- case 64: goto st109;
1951
- case 84: goto tr169;
1952
- case 92: goto st98;
1953
- case 94: goto st98;
1954
- case 95: goto tr121;
1955
- case 116: goto tr169;
1956
- case 126: goto st98;
1953
+ case 64: goto st21;
1954
+ case 84: goto tr170;
1955
+ case 95: goto st20;
1956
+ case 116: goto tr170;
1957
1957
  }
1958
- if ( (*p) < 45 ) {
1959
- if ( 36 <= (*p) && (*p) <= 37 )
1960
- goto st98;
1958
+ if ( (*p) < 48 ) {
1959
+ if ( 45 <= (*p) && (*p) <= 46 )
1960
+ goto st20;
1961
1961
  } else if ( (*p) > 57 ) {
1962
1962
  if ( (*p) > 90 ) {
1963
1963
  if ( 97 <= (*p) && (*p) <= 122 )
1964
- goto tr121;
1964
+ goto tr123;
1965
1965
  } else if ( (*p) >= 65 )
1966
- goto tr121;
1966
+ goto tr123;
1967
1967
  } else
1968
- goto tr121;
1969
- goto tr141;
1970
- tr169:
1968
+ goto tr123;
1969
+ goto tr157;
1970
+ tr170:
1971
1971
  #line 1 "wikitext_ragel.rl"
1972
1972
  {te = p+1;}
1973
- #line 426 "wikitext_ragel.rl"
1973
+ #line 420 "wikitext_ragel.rl"
1974
1974
  {act = 42;}
1975
1975
  goto st117;
1976
1976
  st117:
@@ -1979,63 +1979,51 @@ st117:
1979
1979
  case 117:
1980
1980
  #line 1981 "wikitext_ragel.c"
1981
1981
  switch( (*p) ) {
1982
- case 43: goto st98;
1983
- case 46: goto st20;
1984
- case 47: goto st98;
1985
- case 64: goto st109;
1986
- case 80: goto tr170;
1987
- case 92: goto st98;
1988
- case 94: goto st98;
1989
- case 95: goto tr121;
1990
- case 112: goto tr170;
1991
- case 126: goto st98;
1982
+ case 64: goto st21;
1983
+ case 80: goto tr171;
1984
+ case 95: goto st20;
1985
+ case 112: goto tr171;
1992
1986
  }
1993
- if ( (*p) < 45 ) {
1994
- if ( 36 <= (*p) && (*p) <= 37 )
1995
- goto st98;
1987
+ if ( (*p) < 48 ) {
1988
+ if ( 45 <= (*p) && (*p) <= 46 )
1989
+ goto st20;
1996
1990
  } else if ( (*p) > 57 ) {
1997
1991
  if ( (*p) > 90 ) {
1998
1992
  if ( 97 <= (*p) && (*p) <= 122 )
1999
- goto tr121;
1993
+ goto tr123;
2000
1994
  } else if ( (*p) >= 65 )
2001
- goto tr121;
1995
+ goto tr123;
2002
1996
  } else
2003
- goto tr121;
2004
- goto tr141;
2005
- tr170:
1997
+ goto tr123;
1998
+ goto tr157;
1999
+ tr171:
2006
2000
  #line 1 "wikitext_ragel.rl"
2007
2001
  {te = p+1;}
2008
- #line 426 "wikitext_ragel.rl"
2002
+ #line 420 "wikitext_ragel.rl"
2009
2003
  {act = 42;}
2010
2004
  goto st118;
2011
2005
  st118:
2012
2006
  if ( ++p == pe )
2013
2007
  goto _test_eof118;
2014
2008
  case 118:
2015
- #line 2016 "wikitext_ragel.c"
2009
+ #line 2010 "wikitext_ragel.c"
2016
2010
  switch( (*p) ) {
2017
- case 43: goto st98;
2018
- case 46: goto st20;
2019
- case 47: goto st98;
2020
2011
  case 58: goto st84;
2021
- case 64: goto st109;
2022
- case 92: goto st98;
2023
- case 94: goto st98;
2024
- case 95: goto tr121;
2025
- case 126: goto st98;
2012
+ case 64: goto st21;
2013
+ case 95: goto st20;
2026
2014
  }
2027
- if ( (*p) < 45 ) {
2028
- if ( 36 <= (*p) && (*p) <= 37 )
2029
- goto st98;
2015
+ if ( (*p) < 48 ) {
2016
+ if ( 45 <= (*p) && (*p) <= 46 )
2017
+ goto st20;
2030
2018
  } else if ( (*p) > 57 ) {
2031
2019
  if ( (*p) > 90 ) {
2032
2020
  if ( 97 <= (*p) && (*p) <= 122 )
2033
- goto tr121;
2021
+ goto tr123;
2034
2022
  } else if ( (*p) >= 65 )
2035
- goto tr121;
2023
+ goto tr123;
2036
2024
  } else
2037
- goto tr121;
2038
- goto tr141;
2025
+ goto tr123;
2026
+ goto tr157;
2039
2027
  st84:
2040
2028
  if ( ++p == pe )
2041
2029
  goto _test_eof84;
@@ -2083,7 +2071,7 @@ st119:
2083
2071
  if ( ++p == pe )
2084
2072
  goto _test_eof119;
2085
2073
  case 119:
2086
- #line 2087 "wikitext_ragel.c"
2074
+ #line 2075 "wikitext_ragel.c"
2087
2075
  switch( (*p) ) {
2088
2076
  case 33: goto st87;
2089
2077
  case 41: goto st87;
@@ -2105,7 +2093,7 @@ case 119:
2105
2093
  goto tr98;
2106
2094
  } else
2107
2095
  goto st87;
2108
- goto tr172;
2096
+ goto tr173;
2109
2097
  st87:
2110
2098
  if ( ++p == pe )
2111
2099
  goto _test_eof87;
@@ -2132,356 +2120,296 @@ case 87:
2132
2120
  } else
2133
2121
  goto st87;
2134
2122
  goto tr99;
2135
- tr127:
2123
+ tr128:
2136
2124
  #line 1 "wikitext_ragel.rl"
2137
2125
  {te = p+1;}
2138
- #line 426 "wikitext_ragel.rl"
2126
+ #line 420 "wikitext_ragel.rl"
2139
2127
  {act = 42;}
2140
2128
  goto st120;
2141
2129
  st120:
2142
2130
  if ( ++p == pe )
2143
2131
  goto _test_eof120;
2144
2132
  case 120:
2145
- #line 2146 "wikitext_ragel.c"
2133
+ #line 2134 "wikitext_ragel.c"
2146
2134
  switch( (*p) ) {
2147
- case 43: goto st98;
2148
- case 46: goto st20;
2149
- case 47: goto st98;
2150
- case 64: goto st109;
2151
- case 84: goto tr173;
2152
- case 92: goto st98;
2153
- case 94: goto st98;
2154
- case 95: goto tr121;
2155
- case 116: goto tr173;
2156
- case 126: goto st98;
2135
+ case 64: goto st21;
2136
+ case 84: goto tr174;
2137
+ case 95: goto st20;
2138
+ case 116: goto tr174;
2157
2139
  }
2158
- if ( (*p) < 45 ) {
2159
- if ( 36 <= (*p) && (*p) <= 37 )
2160
- goto st98;
2140
+ if ( (*p) < 48 ) {
2141
+ if ( 45 <= (*p) && (*p) <= 46 )
2142
+ goto st20;
2161
2143
  } else if ( (*p) > 57 ) {
2162
2144
  if ( (*p) > 90 ) {
2163
2145
  if ( 97 <= (*p) && (*p) <= 122 )
2164
- goto tr121;
2146
+ goto tr123;
2165
2147
  } else if ( (*p) >= 65 )
2166
- goto tr121;
2148
+ goto tr123;
2167
2149
  } else
2168
- goto tr121;
2169
- goto tr141;
2170
- tr173:
2150
+ goto tr123;
2151
+ goto tr157;
2152
+ tr174:
2171
2153
  #line 1 "wikitext_ragel.rl"
2172
2154
  {te = p+1;}
2173
- #line 426 "wikitext_ragel.rl"
2155
+ #line 420 "wikitext_ragel.rl"
2174
2156
  {act = 42;}
2175
2157
  goto st121;
2176
2158
  st121:
2177
2159
  if ( ++p == pe )
2178
2160
  goto _test_eof121;
2179
2161
  case 121:
2180
- #line 2181 "wikitext_ragel.c"
2162
+ #line 2163 "wikitext_ragel.c"
2181
2163
  switch( (*p) ) {
2182
- case 43: goto st98;
2183
- case 46: goto st20;
2184
- case 47: goto st98;
2185
- case 64: goto st109;
2186
- case 84: goto tr174;
2187
- case 92: goto st98;
2188
- case 94: goto st98;
2189
- case 95: goto tr121;
2190
- case 116: goto tr174;
2191
- case 126: goto st98;
2164
+ case 64: goto st21;
2165
+ case 84: goto tr175;
2166
+ case 95: goto st20;
2167
+ case 116: goto tr175;
2192
2168
  }
2193
- if ( (*p) < 45 ) {
2194
- if ( 36 <= (*p) && (*p) <= 37 )
2195
- goto st98;
2169
+ if ( (*p) < 48 ) {
2170
+ if ( 45 <= (*p) && (*p) <= 46 )
2171
+ goto st20;
2196
2172
  } else if ( (*p) > 57 ) {
2197
2173
  if ( (*p) > 90 ) {
2198
2174
  if ( 97 <= (*p) && (*p) <= 122 )
2199
- goto tr121;
2175
+ goto tr123;
2200
2176
  } else if ( (*p) >= 65 )
2201
- goto tr121;
2177
+ goto tr123;
2202
2178
  } else
2203
- goto tr121;
2204
- goto tr141;
2205
- tr174:
2179
+ goto tr123;
2180
+ goto tr157;
2181
+ tr175:
2206
2182
  #line 1 "wikitext_ragel.rl"
2207
2183
  {te = p+1;}
2208
- #line 426 "wikitext_ragel.rl"
2184
+ #line 420 "wikitext_ragel.rl"
2209
2185
  {act = 42;}
2210
2186
  goto st122;
2211
2187
  st122:
2212
2188
  if ( ++p == pe )
2213
2189
  goto _test_eof122;
2214
2190
  case 122:
2215
- #line 2216 "wikitext_ragel.c"
2191
+ #line 2192 "wikitext_ragel.c"
2216
2192
  switch( (*p) ) {
2217
- case 43: goto st98;
2218
- case 46: goto st20;
2219
- case 47: goto st98;
2220
- case 64: goto st109;
2221
- case 80: goto tr175;
2222
- case 92: goto st98;
2223
- case 94: goto st98;
2224
- case 95: goto tr121;
2225
- case 112: goto tr175;
2226
- case 126: goto st98;
2193
+ case 64: goto st21;
2194
+ case 80: goto tr176;
2195
+ case 95: goto st20;
2196
+ case 112: goto tr176;
2227
2197
  }
2228
- if ( (*p) < 45 ) {
2229
- if ( 36 <= (*p) && (*p) <= 37 )
2230
- goto st98;
2198
+ if ( (*p) < 48 ) {
2199
+ if ( 45 <= (*p) && (*p) <= 46 )
2200
+ goto st20;
2231
2201
  } else if ( (*p) > 57 ) {
2232
2202
  if ( (*p) > 90 ) {
2233
2203
  if ( 97 <= (*p) && (*p) <= 122 )
2234
- goto tr121;
2204
+ goto tr123;
2235
2205
  } else if ( (*p) >= 65 )
2236
- goto tr121;
2206
+ goto tr123;
2237
2207
  } else
2238
- goto tr121;
2239
- goto tr141;
2240
- tr175:
2208
+ goto tr123;
2209
+ goto tr157;
2210
+ tr176:
2241
2211
  #line 1 "wikitext_ragel.rl"
2242
2212
  {te = p+1;}
2243
- #line 426 "wikitext_ragel.rl"
2213
+ #line 420 "wikitext_ragel.rl"
2244
2214
  {act = 42;}
2245
2215
  goto st123;
2246
2216
  st123:
2247
2217
  if ( ++p == pe )
2248
2218
  goto _test_eof123;
2249
2219
  case 123:
2250
- #line 2251 "wikitext_ragel.c"
2220
+ #line 2221 "wikitext_ragel.c"
2251
2221
  switch( (*p) ) {
2252
- case 43: goto st98;
2253
- case 46: goto st20;
2254
- case 47: goto st98;
2255
2222
  case 58: goto st84;
2256
- case 64: goto st109;
2257
- case 83: goto tr170;
2258
- case 92: goto st98;
2259
- case 94: goto st98;
2260
- case 95: goto tr121;
2261
- case 115: goto tr170;
2262
- case 126: goto st98;
2223
+ case 64: goto st21;
2224
+ case 83: goto tr171;
2225
+ case 95: goto st20;
2226
+ case 115: goto tr171;
2263
2227
  }
2264
- if ( (*p) < 45 ) {
2265
- if ( 36 <= (*p) && (*p) <= 37 )
2266
- goto st98;
2228
+ if ( (*p) < 48 ) {
2229
+ if ( 45 <= (*p) && (*p) <= 46 )
2230
+ goto st20;
2267
2231
  } else if ( (*p) > 57 ) {
2268
2232
  if ( (*p) > 90 ) {
2269
2233
  if ( 97 <= (*p) && (*p) <= 122 )
2270
- goto tr121;
2234
+ goto tr123;
2271
2235
  } else if ( (*p) >= 65 )
2272
- goto tr121;
2236
+ goto tr123;
2273
2237
  } else
2274
- goto tr121;
2275
- goto tr141;
2276
- tr128:
2238
+ goto tr123;
2239
+ goto tr157;
2240
+ tr129:
2277
2241
  #line 1 "wikitext_ragel.rl"
2278
2242
  {te = p+1;}
2279
- #line 426 "wikitext_ragel.rl"
2243
+ #line 420 "wikitext_ragel.rl"
2280
2244
  {act = 42;}
2281
2245
  goto st124;
2282
2246
  st124:
2283
2247
  if ( ++p == pe )
2284
2248
  goto _test_eof124;
2285
2249
  case 124:
2286
- #line 2287 "wikitext_ragel.c"
2250
+ #line 2251 "wikitext_ragel.c"
2287
2251
  switch( (*p) ) {
2288
- case 43: goto st98;
2289
- case 46: goto st20;
2290
- case 47: goto st98;
2291
- case 64: goto st109;
2292
- case 65: goto tr176;
2293
- case 92: goto st98;
2294
- case 94: goto st98;
2295
- case 95: goto tr121;
2296
- case 97: goto tr176;
2297
- case 126: goto st98;
2252
+ case 64: goto st21;
2253
+ case 65: goto tr177;
2254
+ case 95: goto st20;
2255
+ case 97: goto tr177;
2298
2256
  }
2299
- if ( (*p) < 45 ) {
2300
- if ( 36 <= (*p) && (*p) <= 37 )
2301
- goto st98;
2257
+ if ( (*p) < 48 ) {
2258
+ if ( 45 <= (*p) && (*p) <= 46 )
2259
+ goto st20;
2302
2260
  } else if ( (*p) > 57 ) {
2303
2261
  if ( (*p) > 90 ) {
2304
2262
  if ( 98 <= (*p) && (*p) <= 122 )
2305
- goto tr121;
2263
+ goto tr123;
2306
2264
  } else if ( (*p) >= 66 )
2307
- goto tr121;
2265
+ goto tr123;
2308
2266
  } else
2309
- goto tr121;
2310
- goto tr141;
2311
- tr176:
2267
+ goto tr123;
2268
+ goto tr157;
2269
+ tr177:
2312
2270
  #line 1 "wikitext_ragel.rl"
2313
2271
  {te = p+1;}
2314
- #line 426 "wikitext_ragel.rl"
2272
+ #line 420 "wikitext_ragel.rl"
2315
2273
  {act = 42;}
2316
2274
  goto st125;
2317
2275
  st125:
2318
2276
  if ( ++p == pe )
2319
2277
  goto _test_eof125;
2320
2278
  case 125:
2321
- #line 2322 "wikitext_ragel.c"
2279
+ #line 2280 "wikitext_ragel.c"
2322
2280
  switch( (*p) ) {
2323
- case 43: goto st98;
2324
- case 46: goto st20;
2325
- case 47: goto st98;
2326
- case 64: goto st109;
2327
- case 73: goto tr177;
2328
- case 92: goto st98;
2329
- case 94: goto st98;
2330
- case 95: goto tr121;
2331
- case 105: goto tr177;
2332
- case 126: goto st98;
2281
+ case 64: goto st21;
2282
+ case 73: goto tr178;
2283
+ case 95: goto st20;
2284
+ case 105: goto tr178;
2333
2285
  }
2334
- if ( (*p) < 45 ) {
2335
- if ( 36 <= (*p) && (*p) <= 37 )
2336
- goto st98;
2286
+ if ( (*p) < 48 ) {
2287
+ if ( 45 <= (*p) && (*p) <= 46 )
2288
+ goto st20;
2337
2289
  } else if ( (*p) > 57 ) {
2338
2290
  if ( (*p) > 90 ) {
2339
2291
  if ( 97 <= (*p) && (*p) <= 122 )
2340
- goto tr121;
2292
+ goto tr123;
2341
2293
  } else if ( (*p) >= 65 )
2342
- goto tr121;
2294
+ goto tr123;
2343
2295
  } else
2344
- goto tr121;
2345
- goto tr141;
2346
- tr177:
2296
+ goto tr123;
2297
+ goto tr157;
2298
+ tr178:
2347
2299
  #line 1 "wikitext_ragel.rl"
2348
2300
  {te = p+1;}
2349
- #line 426 "wikitext_ragel.rl"
2301
+ #line 420 "wikitext_ragel.rl"
2350
2302
  {act = 42;}
2351
2303
  goto st126;
2352
2304
  st126:
2353
2305
  if ( ++p == pe )
2354
2306
  goto _test_eof126;
2355
2307
  case 126:
2356
- #line 2357 "wikitext_ragel.c"
2308
+ #line 2309 "wikitext_ragel.c"
2357
2309
  switch( (*p) ) {
2358
- case 43: goto st98;
2359
- case 46: goto st20;
2360
- case 47: goto st98;
2361
- case 64: goto st109;
2362
- case 76: goto tr178;
2363
- case 92: goto st98;
2364
- case 94: goto st98;
2365
- case 95: goto tr121;
2366
- case 108: goto tr178;
2367
- case 126: goto st98;
2310
+ case 64: goto st21;
2311
+ case 76: goto tr179;
2312
+ case 95: goto st20;
2313
+ case 108: goto tr179;
2368
2314
  }
2369
- if ( (*p) < 45 ) {
2370
- if ( 36 <= (*p) && (*p) <= 37 )
2371
- goto st98;
2315
+ if ( (*p) < 48 ) {
2316
+ if ( 45 <= (*p) && (*p) <= 46 )
2317
+ goto st20;
2372
2318
  } else if ( (*p) > 57 ) {
2373
2319
  if ( (*p) > 90 ) {
2374
2320
  if ( 97 <= (*p) && (*p) <= 122 )
2375
- goto tr121;
2321
+ goto tr123;
2376
2322
  } else if ( (*p) >= 65 )
2377
- goto tr121;
2323
+ goto tr123;
2378
2324
  } else
2379
- goto tr121;
2380
- goto tr141;
2381
- tr178:
2325
+ goto tr123;
2326
+ goto tr157;
2327
+ tr179:
2382
2328
  #line 1 "wikitext_ragel.rl"
2383
2329
  {te = p+1;}
2384
- #line 426 "wikitext_ragel.rl"
2330
+ #line 420 "wikitext_ragel.rl"
2385
2331
  {act = 42;}
2386
2332
  goto st127;
2387
2333
  st127:
2388
2334
  if ( ++p == pe )
2389
2335
  goto _test_eof127;
2390
2336
  case 127:
2391
- #line 2392 "wikitext_ragel.c"
2337
+ #line 2338 "wikitext_ragel.c"
2392
2338
  switch( (*p) ) {
2393
- case 43: goto st98;
2394
- case 46: goto st20;
2395
- case 47: goto st98;
2396
- case 64: goto st109;
2397
- case 84: goto tr179;
2398
- case 92: goto st98;
2399
- case 94: goto st98;
2400
- case 95: goto tr121;
2401
- case 116: goto tr179;
2402
- case 126: goto st98;
2339
+ case 64: goto st21;
2340
+ case 84: goto tr180;
2341
+ case 95: goto st20;
2342
+ case 116: goto tr180;
2403
2343
  }
2404
- if ( (*p) < 45 ) {
2405
- if ( 36 <= (*p) && (*p) <= 37 )
2406
- goto st98;
2344
+ if ( (*p) < 48 ) {
2345
+ if ( 45 <= (*p) && (*p) <= 46 )
2346
+ goto st20;
2407
2347
  } else if ( (*p) > 57 ) {
2408
2348
  if ( (*p) > 90 ) {
2409
2349
  if ( 97 <= (*p) && (*p) <= 122 )
2410
- goto tr121;
2350
+ goto tr123;
2411
2351
  } else if ( (*p) >= 65 )
2412
- goto tr121;
2352
+ goto tr123;
2413
2353
  } else
2414
- goto tr121;
2415
- goto tr141;
2416
- tr179:
2354
+ goto tr123;
2355
+ goto tr157;
2356
+ tr180:
2417
2357
  #line 1 "wikitext_ragel.rl"
2418
2358
  {te = p+1;}
2419
- #line 426 "wikitext_ragel.rl"
2359
+ #line 420 "wikitext_ragel.rl"
2420
2360
  {act = 42;}
2421
2361
  goto st128;
2422
2362
  st128:
2423
2363
  if ( ++p == pe )
2424
2364
  goto _test_eof128;
2425
2365
  case 128:
2426
- #line 2427 "wikitext_ragel.c"
2366
+ #line 2367 "wikitext_ragel.c"
2427
2367
  switch( (*p) ) {
2428
- case 43: goto st98;
2429
- case 46: goto st20;
2430
- case 47: goto st98;
2431
- case 64: goto st109;
2432
- case 79: goto tr180;
2433
- case 92: goto st98;
2434
- case 94: goto st98;
2435
- case 95: goto tr121;
2436
- case 111: goto tr180;
2437
- case 126: goto st98;
2368
+ case 64: goto st21;
2369
+ case 79: goto tr181;
2370
+ case 95: goto st20;
2371
+ case 111: goto tr181;
2438
2372
  }
2439
- if ( (*p) < 45 ) {
2440
- if ( 36 <= (*p) && (*p) <= 37 )
2441
- goto st98;
2373
+ if ( (*p) < 48 ) {
2374
+ if ( 45 <= (*p) && (*p) <= 46 )
2375
+ goto st20;
2442
2376
  } else if ( (*p) > 57 ) {
2443
2377
  if ( (*p) > 90 ) {
2444
2378
  if ( 97 <= (*p) && (*p) <= 122 )
2445
- goto tr121;
2379
+ goto tr123;
2446
2380
  } else if ( (*p) >= 65 )
2447
- goto tr121;
2381
+ goto tr123;
2448
2382
  } else
2449
- goto tr121;
2450
- goto tr141;
2451
- tr180:
2383
+ goto tr123;
2384
+ goto tr157;
2385
+ tr181:
2452
2386
  #line 1 "wikitext_ragel.rl"
2453
2387
  {te = p+1;}
2454
- #line 426 "wikitext_ragel.rl"
2388
+ #line 420 "wikitext_ragel.rl"
2455
2389
  {act = 42;}
2456
2390
  goto st129;
2457
2391
  st129:
2458
2392
  if ( ++p == pe )
2459
2393
  goto _test_eof129;
2460
2394
  case 129:
2461
- #line 2462 "wikitext_ragel.c"
2395
+ #line 2396 "wikitext_ragel.c"
2462
2396
  switch( (*p) ) {
2463
- case 43: goto st98;
2464
- case 46: goto st20;
2465
- case 47: goto st98;
2466
2397
  case 58: goto st88;
2467
- case 64: goto st109;
2468
- case 92: goto st98;
2469
- case 94: goto st98;
2470
- case 95: goto tr121;
2471
- case 126: goto st98;
2398
+ case 64: goto st21;
2399
+ case 95: goto st20;
2472
2400
  }
2473
- if ( (*p) < 45 ) {
2474
- if ( 36 <= (*p) && (*p) <= 37 )
2475
- goto st98;
2401
+ if ( (*p) < 48 ) {
2402
+ if ( 45 <= (*p) && (*p) <= 46 )
2403
+ goto st20;
2476
2404
  } else if ( (*p) > 57 ) {
2477
2405
  if ( (*p) > 90 ) {
2478
2406
  if ( 97 <= (*p) && (*p) <= 122 )
2479
- goto tr121;
2407
+ goto tr123;
2480
2408
  } else if ( (*p) >= 65 )
2481
- goto tr121;
2409
+ goto tr123;
2482
2410
  } else
2483
- goto tr121;
2484
- goto tr141;
2411
+ goto tr123;
2412
+ goto tr157;
2485
2413
  st88:
2486
2414
  if ( ++p == pe )
2487
2415
  goto _test_eof88;
@@ -2586,7 +2514,7 @@ st130:
2586
2514
  if ( ++p == pe )
2587
2515
  goto _test_eof130;
2588
2516
  case 130:
2589
- #line 2590 "wikitext_ragel.c"
2517
+ #line 2518 "wikitext_ragel.c"
2590
2518
  if ( (*p) == 46 )
2591
2519
  goto st92;
2592
2520
  if ( (*p) < 65 ) {
@@ -2594,11 +2522,11 @@ case 130:
2594
2522
  goto st91;
2595
2523
  } else if ( (*p) > 90 ) {
2596
2524
  if ( 97 <= (*p) && (*p) <= 122 )
2597
- goto tr182;
2525
+ goto tr183;
2598
2526
  } else
2599
- goto tr182;
2600
- goto tr172;
2601
- tr182:
2527
+ goto tr183;
2528
+ goto tr173;
2529
+ tr183:
2602
2530
  #line 1 "wikitext_ragel.rl"
2603
2531
  {te = p+1;}
2604
2532
  #line 281 "wikitext_ragel.rl"
@@ -2608,7 +2536,7 @@ st131:
2608
2536
  if ( ++p == pe )
2609
2537
  goto _test_eof131;
2610
2538
  case 131:
2611
- #line 2612 "wikitext_ragel.c"
2539
+ #line 2540 "wikitext_ragel.c"
2612
2540
  if ( (*p) == 46 )
2613
2541
  goto st92;
2614
2542
  if ( (*p) < 65 ) {
@@ -2616,11 +2544,11 @@ case 131:
2616
2544
  goto st91;
2617
2545
  } else if ( (*p) > 90 ) {
2618
2546
  if ( 97 <= (*p) && (*p) <= 122 )
2619
- goto tr183;
2547
+ goto tr184;
2620
2548
  } else
2621
- goto tr183;
2622
- goto tr172;
2623
- tr183:
2549
+ goto tr184;
2550
+ goto tr173;
2551
+ tr184:
2624
2552
  #line 1 "wikitext_ragel.rl"
2625
2553
  {te = p+1;}
2626
2554
  #line 281 "wikitext_ragel.rl"
@@ -2630,7 +2558,7 @@ st132:
2630
2558
  if ( ++p == pe )
2631
2559
  goto _test_eof132;
2632
2560
  case 132:
2633
- #line 2634 "wikitext_ragel.c"
2561
+ #line 2562 "wikitext_ragel.c"
2634
2562
  if ( (*p) == 46 )
2635
2563
  goto st92;
2636
2564
  if ( (*p) < 65 ) {
@@ -2638,11 +2566,11 @@ case 132:
2638
2566
  goto st91;
2639
2567
  } else if ( (*p) > 90 ) {
2640
2568
  if ( 97 <= (*p) && (*p) <= 122 )
2641
- goto tr184;
2569
+ goto tr185;
2642
2570
  } else
2643
- goto tr184;
2644
- goto tr172;
2645
- tr184:
2571
+ goto tr185;
2572
+ goto tr173;
2573
+ tr185:
2646
2574
  #line 1 "wikitext_ragel.rl"
2647
2575
  {te = p+1;}
2648
2576
  #line 281 "wikitext_ragel.rl"
@@ -2652,7 +2580,7 @@ st133:
2652
2580
  if ( ++p == pe )
2653
2581
  goto _test_eof133;
2654
2582
  case 133:
2655
- #line 2656 "wikitext_ragel.c"
2583
+ #line 2584 "wikitext_ragel.c"
2656
2584
  if ( (*p) == 46 )
2657
2585
  goto st92;
2658
2586
  if ( (*p) < 65 ) {
@@ -2663,105 +2591,93 @@ case 133:
2663
2591
  goto st91;
2664
2592
  } else
2665
2593
  goto st91;
2666
- goto tr172;
2667
- tr129:
2594
+ goto tr173;
2595
+ tr130:
2668
2596
  #line 1 "wikitext_ragel.rl"
2669
2597
  {te = p+1;}
2670
- #line 426 "wikitext_ragel.rl"
2598
+ #line 420 "wikitext_ragel.rl"
2671
2599
  {act = 42;}
2672
2600
  goto st134;
2673
2601
  st134:
2674
2602
  if ( ++p == pe )
2675
2603
  goto _test_eof134;
2676
2604
  case 134:
2677
- #line 2678 "wikitext_ragel.c"
2605
+ #line 2606 "wikitext_ragel.c"
2678
2606
  switch( (*p) ) {
2679
- case 43: goto st98;
2680
- case 46: goto st20;
2681
- case 47: goto st98;
2682
- case 64: goto st109;
2683
- case 86: goto tr185;
2684
- case 92: goto st98;
2685
- case 94: goto st98;
2686
- case 95: goto tr121;
2687
- case 118: goto tr185;
2688
- case 126: goto st98;
2607
+ case 64: goto st21;
2608
+ case 86: goto tr186;
2609
+ case 95: goto st20;
2610
+ case 118: goto tr186;
2689
2611
  }
2690
- if ( (*p) < 45 ) {
2691
- if ( 36 <= (*p) && (*p) <= 37 )
2692
- goto st98;
2612
+ if ( (*p) < 48 ) {
2613
+ if ( 45 <= (*p) && (*p) <= 46 )
2614
+ goto st20;
2693
2615
  } else if ( (*p) > 57 ) {
2694
2616
  if ( (*p) > 90 ) {
2695
2617
  if ( 97 <= (*p) && (*p) <= 122 )
2696
- goto tr121;
2618
+ goto tr123;
2697
2619
  } else if ( (*p) >= 65 )
2698
- goto tr121;
2620
+ goto tr123;
2699
2621
  } else
2700
- goto tr121;
2701
- goto tr141;
2702
- tr185:
2622
+ goto tr123;
2623
+ goto tr157;
2624
+ tr186:
2703
2625
  #line 1 "wikitext_ragel.rl"
2704
2626
  {te = p+1;}
2705
- #line 426 "wikitext_ragel.rl"
2627
+ #line 420 "wikitext_ragel.rl"
2706
2628
  {act = 42;}
2707
2629
  goto st135;
2708
2630
  st135:
2709
2631
  if ( ++p == pe )
2710
2632
  goto _test_eof135;
2711
2633
  case 135:
2712
- #line 2713 "wikitext_ragel.c"
2634
+ #line 2635 "wikitext_ragel.c"
2713
2635
  switch( (*p) ) {
2714
- case 43: goto st98;
2715
- case 46: goto st20;
2716
- case 47: goto st98;
2717
- case 64: goto st109;
2718
- case 78: goto tr170;
2719
- case 92: goto st98;
2720
- case 94: goto st98;
2721
- case 95: goto tr121;
2722
- case 110: goto tr170;
2723
- case 126: goto st98;
2636
+ case 64: goto st21;
2637
+ case 78: goto tr171;
2638
+ case 95: goto st20;
2639
+ case 110: goto tr171;
2724
2640
  }
2725
- if ( (*p) < 45 ) {
2726
- if ( 36 <= (*p) && (*p) <= 37 )
2727
- goto st98;
2641
+ if ( (*p) < 48 ) {
2642
+ if ( 45 <= (*p) && (*p) <= 46 )
2643
+ goto st20;
2728
2644
  } else if ( (*p) > 57 ) {
2729
2645
  if ( (*p) > 90 ) {
2730
2646
  if ( 97 <= (*p) && (*p) <= 122 )
2731
- goto tr121;
2647
+ goto tr123;
2732
2648
  } else if ( (*p) >= 65 )
2733
- goto tr121;
2649
+ goto tr123;
2734
2650
  } else
2735
- goto tr121;
2736
- goto tr141;
2651
+ goto tr123;
2652
+ goto tr157;
2737
2653
  st136:
2738
2654
  if ( ++p == pe )
2739
2655
  goto _test_eof136;
2740
2656
  case 136:
2741
2657
  if ( (*p) == 91 )
2742
- goto tr187;
2743
- goto tr186;
2658
+ goto tr188;
2659
+ goto tr187;
2744
2660
  st137:
2745
2661
  if ( ++p == pe )
2746
2662
  goto _test_eof137;
2747
2663
  case 137:
2748
2664
  if ( (*p) == 93 )
2749
- goto tr189;
2750
- goto tr188;
2665
+ goto tr190;
2666
+ goto tr189;
2751
2667
  st138:
2752
2668
  if ( ++p == pe )
2753
2669
  goto _test_eof138;
2754
2670
  case 138:
2755
2671
  if ( (*p) == 123 )
2756
- goto tr191;
2757
- goto tr190;
2672
+ goto tr192;
2673
+ goto tr191;
2758
2674
  st139:
2759
2675
  if ( ++p == pe )
2760
2676
  goto _test_eof139;
2761
2677
  case 139:
2762
2678
  if ( (*p) == 125 )
2763
- goto tr193;
2764
- goto tr192;
2679
+ goto tr194;
2680
+ goto tr193;
2765
2681
  }
2766
2682
  _test_eof94: cs = 94; goto _test_eof;
2767
2683
  _test_eof1: cs = 1; goto _test_eof;
@@ -2907,11 +2823,11 @@ case 139:
2907
2823
  if ( p == eof )
2908
2824
  {
2909
2825
  switch ( cs ) {
2910
- case 95: goto tr136;
2911
- case 96: goto tr138;
2912
- case 97: goto tr140;
2913
- case 98: goto tr141;
2914
- case 99: goto tr142;
2826
+ case 95: goto tr137;
2827
+ case 96: goto tr139;
2828
+ case 97: goto tr141;
2829
+ case 98: goto tr142;
2830
+ case 99: goto tr143;
2915
2831
  case 7: goto tr7;
2916
2832
  case 8: goto tr7;
2917
2833
  case 9: goto tr7;
@@ -2925,24 +2841,24 @@ case 139:
2925
2841
  case 17: goto tr7;
2926
2842
  case 18: goto tr7;
2927
2843
  case 19: goto tr7;
2928
- case 100: goto tr146;
2929
- case 101: goto tr146;
2930
- case 102: goto tr146;
2931
- case 103: goto tr146;
2932
- case 104: goto tr141;
2844
+ case 100: goto tr147;
2845
+ case 101: goto tr147;
2846
+ case 102: goto tr147;
2847
+ case 103: goto tr147;
2848
+ case 104: goto tr142;
2933
2849
  case 20: goto tr23;
2934
2850
  case 21: goto tr23;
2935
2851
  case 22: goto tr23;
2936
2852
  case 23: goto tr23;
2937
2853
  case 24: goto tr23;
2938
- case 105: goto tr152;
2939
- case 106: goto tr152;
2940
- case 107: goto tr152;
2941
- case 108: goto tr152;
2942
- case 109: goto tr141;
2854
+ case 105: goto tr153;
2855
+ case 106: goto tr153;
2856
+ case 107: goto tr153;
2857
+ case 108: goto tr153;
2858
+ case 109: goto tr142;
2943
2859
  case 110: goto tr141;
2944
- case 111: goto tr140;
2945
- case 112: goto tr157;
2860
+ case 111: goto tr157;
2861
+ case 112: goto tr158;
2946
2862
  case 25: goto tr30;
2947
2863
  case 26: goto tr30;
2948
2864
  case 27: goto tr30;
@@ -3002,49 +2918,49 @@ case 139:
3002
2918
  case 81: goto tr30;
3003
2919
  case 82: goto tr30;
3004
2920
  case 83: goto tr30;
3005
- case 113: goto tr165;
3006
- case 114: goto tr165;
3007
- case 115: goto tr167;
3008
- case 116: goto tr141;
3009
- case 117: goto tr141;
3010
- case 118: goto tr141;
2921
+ case 113: goto tr166;
2922
+ case 114: goto tr166;
2923
+ case 115: goto tr168;
2924
+ case 116: goto tr157;
2925
+ case 117: goto tr157;
2926
+ case 118: goto tr157;
3011
2927
  case 84: goto tr95;
3012
2928
  case 85: goto tr95;
3013
2929
  case 86: goto tr95;
3014
- case 119: goto tr172;
2930
+ case 119: goto tr173;
3015
2931
  case 87: goto tr99;
3016
- case 120: goto tr141;
3017
- case 121: goto tr141;
3018
- case 122: goto tr141;
3019
- case 123: goto tr141;
3020
- case 124: goto tr141;
3021
- case 125: goto tr141;
3022
- case 126: goto tr141;
3023
- case 127: goto tr141;
3024
- case 128: goto tr141;
3025
- case 129: goto tr141;
2932
+ case 120: goto tr157;
2933
+ case 121: goto tr157;
2934
+ case 122: goto tr157;
2935
+ case 123: goto tr157;
2936
+ case 124: goto tr157;
2937
+ case 125: goto tr157;
2938
+ case 126: goto tr157;
2939
+ case 127: goto tr157;
2940
+ case 128: goto tr157;
2941
+ case 129: goto tr157;
3026
2942
  case 88: goto tr95;
3027
2943
  case 89: goto tr95;
3028
2944
  case 90: goto tr95;
3029
2945
  case 91: goto tr23;
3030
2946
  case 92: goto tr23;
3031
2947
  case 93: goto tr23;
3032
- case 130: goto tr172;
3033
- case 131: goto tr172;
3034
- case 132: goto tr172;
3035
- case 133: goto tr172;
3036
- case 134: goto tr141;
3037
- case 135: goto tr141;
3038
- case 136: goto tr186;
3039
- case 137: goto tr188;
3040
- case 138: goto tr190;
3041
- case 139: goto tr192;
2948
+ case 130: goto tr173;
2949
+ case 131: goto tr173;
2950
+ case 132: goto tr173;
2951
+ case 133: goto tr173;
2952
+ case 134: goto tr157;
2953
+ case 135: goto tr157;
2954
+ case 136: goto tr187;
2955
+ case 137: goto tr189;
2956
+ case 138: goto tr191;
2957
+ case 139: goto tr193;
3042
2958
  }
3043
2959
  }
3044
2960
 
3045
2961
  _out: {}
3046
2962
  }
3047
- #line 498 "wikitext_ragel.rl"
2963
+ #line 504 "wikitext_ragel.rl"
3048
2964
  if (cs == wikitext_error)
3049
2965
  rb_raise(eWikitextParserError, "failed before finding a token");
3050
2966
  else if (out->type == NO_TOKEN)