wikitext 1.7 → 1.8

Sign up to get free protection for your applications and to get access to all the features.
data/ext/ary.c CHANGED
@@ -75,6 +75,29 @@ int ary_includes(ary_t *ary, int val)
75
75
  return 0;
76
76
  }
77
77
 
78
+ int ary_includes2(ary_t *ary, int val1, int val2)
79
+ {
80
+ for (int i = 0, max = ary->count; i < max; i++)
81
+ {
82
+ if (ary->entries[i] == val1 ||
83
+ ary->entries[i] == val2)
84
+ return 1;
85
+ }
86
+ return 0;
87
+ }
88
+
89
+ int ary_includes3(ary_t *ary, int val1, int val2, int val3)
90
+ {
91
+ for (int i = 0, max = ary->count; i < max; i++)
92
+ {
93
+ if (ary->entries[i] == val1 ||
94
+ ary->entries[i] == val2 ||
95
+ ary->entries[i] == val3)
96
+ return 1;
97
+ }
98
+ return 0;
99
+ }
100
+
78
101
  int ary_count(ary_t *ary, int item)
79
102
  {
80
103
  int count = 0;
data/ext/ary.h CHANGED
@@ -41,6 +41,8 @@ void ary_clear(ary_t *ary);
41
41
  int ary_pop(ary_t *ary);
42
42
  void ary_push(ary_t *ary, int val);
43
43
  int ary_includes(ary_t *ary, int val);
44
+ int ary_includes2(ary_t *ary, int val1, int val2);
45
+ int ary_includes3(ary_t *ary, int val1, int val2, int val3);
44
46
 
45
47
  // returns a count indicating the number of times the value appears in the collection
46
48
  int ary_count(ary_t *ary, int item);
data/ext/parser.c CHANGED
@@ -30,9 +30,11 @@
30
30
  #include "wikitext_ragel.h"
31
31
 
32
32
  #define IN(type) ary_includes(parser->scope, type)
33
+ #define IN_EITHER_OF(type1, type2) ary_includes2(parser->scope, type1, type2)
34
+ #define IN_ANY_OF(type1, type2, type3) ary_includes3(parser->scope, type1, type2, type3)
33
35
 
34
36
  // poor man's object orientation in C:
35
- // instead of parsing around multiple parameters between functions in the parser
37
+ // instead of passing around multiple parameters between functions in the parser
36
38
  // we pack everything into a struct and pass around only a pointer to that
37
39
  typedef struct
38
40
  {
@@ -125,6 +127,8 @@ const char literal_img_start[] = "{{";
125
127
  const char img_start[] = "<img src=\"";
126
128
  const char img_end[] = "\" />";
127
129
  const char img_alt[] = "\" alt=\"";
130
+ const char pre_class_start[] = "<pre class=\"";
131
+ const char pre_class_end[] = "-syntax\">";
128
132
 
129
133
  // Mark the parser struct designated by ptr as a participant in Ruby's
130
134
  // mark-and-sweep garbage collection scheme. A variable named name is placed on
@@ -336,6 +340,21 @@ void wiki_indent(parser_t *parser)
336
340
  parser->current_indent += 2;
337
341
  }
338
342
 
343
+ void wiki_append_pre_start(parser_t *parser, token_t *token)
344
+ {
345
+ wiki_indent(parser);
346
+ if ((size_t)TOKEN_LEN(token) > sizeof(pre_start) - 1)
347
+ {
348
+ str_append(parser->output, pre_class_start, sizeof(pre_class_start) - 1); // <pre class="
349
+ str_append(parser->output, token->start + 11, TOKEN_LEN(token) - 13); // (the "lang" substring)
350
+ str_append(parser->output, pre_class_end, sizeof(pre_class_end) - 1); // -syntax">
351
+ }
352
+ else
353
+ str_append(parser->output, pre_start, sizeof(pre_start) - 1);
354
+ ary_push(parser->scope, PRE_START);
355
+ ary_push(parser->line, PRE_START);
356
+ }
357
+
339
358
  void wiki_dedent(parser_t *parser, bool emit)
340
359
  {
341
360
  if (parser->base_indent == -1) // indentation disabled
@@ -1137,7 +1156,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1137
1156
  switch (type)
1138
1157
  {
1139
1158
  case PRE:
1140
- if (IN(NO_WIKI_START) || IN(PRE_START))
1159
+ if (IN_EITHER_OF(NO_WIKI_START, PRE_START))
1141
1160
  {
1142
1161
  str_append(parser->output, space, sizeof(space) - 1);
1143
1162
  break;
@@ -1174,7 +1193,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1174
1193
  break;
1175
1194
 
1176
1195
  case PRE_START:
1177
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1196
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1178
1197
  {
1179
1198
  wiki_emit_pending_crlf_if_necessary(parser);
1180
1199
  str_append(parser->output, escaped_pre_start, sizeof(escaped_pre_start) - 1);
@@ -1183,10 +1202,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1183
1202
  {
1184
1203
  wiki_rollback_failed_link(parser); // if any
1185
1204
  wiki_pop_from_stack_up_to(parser, NULL, BLOCKQUOTE_START, false);
1186
- wiki_indent(parser);
1187
- str_append(parser->output, pre_start, sizeof(pre_start) - 1);
1188
- ary_push(parser->scope, PRE_START);
1189
- ary_push(parser->line, PRE_START);
1205
+ wiki_append_pre_start(parser, token);
1190
1206
  }
1191
1207
  else if (IN(BLOCKQUOTE))
1192
1208
  {
@@ -1194,10 +1210,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1194
1210
  {
1195
1211
  wiki_rollback_failed_link(parser); // if any
1196
1212
  wiki_pop_all_from_stack(parser);
1197
- wiki_indent(parser);
1198
- str_append(parser->output, pre_start, sizeof(pre_start) - 1);
1199
- ary_push(parser->scope, PRE_START);
1200
- ary_push(parser->line, PRE_START);
1213
+ wiki_append_pre_start(parser, token);
1201
1214
  }
1202
1215
  else // PRE_START illegal here
1203
1216
  {
@@ -1211,15 +1224,12 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1211
1224
  {
1212
1225
  wiki_rollback_failed_link(parser); // if any
1213
1226
  wiki_pop_from_stack_up_to(parser, NULL, P, true);
1214
- wiki_indent(parser);
1215
- str_append(parser->output, pre_start, sizeof(pre_start) - 1);
1216
- ary_push(parser->scope, PRE_START);
1217
- ary_push(parser->line, PRE_START);
1227
+ wiki_append_pre_start(parser, token);
1218
1228
  }
1219
1229
  break;
1220
1230
 
1221
1231
  case PRE_END:
1222
- if (IN(NO_WIKI_START) || IN(PRE))
1232
+ if (IN_EITHER_OF(NO_WIKI_START, PRE))
1223
1233
  {
1224
1234
  wiki_emit_pending_crlf_if_necessary(parser);
1225
1235
  str_append(parser->output, escaped_pre_end, sizeof(escaped_pre_end) - 1);
@@ -1239,7 +1249,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1239
1249
  break;
1240
1250
 
1241
1251
  case BLOCKQUOTE:
1242
- if (IN(NO_WIKI_START) || IN(PRE_START))
1252
+ if (IN_EITHER_OF(NO_WIKI_START, PRE_START))
1243
1253
  // no need to check for <pre>; can never appear inside it
1244
1254
  str_append(parser->output, escaped_blockquote, TOKEN_LEN(token) + 3); // will either emit "&gt;" or "&gt; "
1245
1255
  else if (IN(BLOCKQUOTE_START))
@@ -1292,7 +1302,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1292
1302
  break;
1293
1303
 
1294
1304
  case BLOCKQUOTE_START:
1295
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1305
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1296
1306
  {
1297
1307
  wiki_emit_pending_crlf_if_necessary(parser);
1298
1308
  str_append(parser->output, escaped_blockquote_start, sizeof(escaped_blockquote_start) - 1);
@@ -1342,7 +1352,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1342
1352
  break;
1343
1353
 
1344
1354
  case BLOCKQUOTE_END:
1345
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1355
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1346
1356
  {
1347
1357
  wiki_emit_pending_crlf_if_necessary(parser);
1348
1358
  str_append(parser->output, escaped_blockquote_end, sizeof(escaped_blockquote_end) - 1);
@@ -1362,7 +1372,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1362
1372
  break;
1363
1373
 
1364
1374
  case NO_WIKI_START:
1365
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1375
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1366
1376
  {
1367
1377
  wiki_emit_pending_crlf_if_necessary(parser);
1368
1378
  str_append(parser->output, escaped_no_wiki_start, sizeof(escaped_no_wiki_start) - 1);
@@ -1389,7 +1399,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1389
1399
  break;
1390
1400
 
1391
1401
  case STRONG_EM:
1392
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1402
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1393
1403
  {
1394
1404
  wiki_emit_pending_crlf_if_necessary(parser);
1395
1405
  str_append(parser->output, literal_strong_em, sizeof(literal_strong_em) - 1);
@@ -1455,7 +1465,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1455
1465
  break;
1456
1466
 
1457
1467
  case STRONG:
1458
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1468
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1459
1469
  {
1460
1470
  wiki_emit_pending_crlf_if_necessary(parser);
1461
1471
  str_append(parser->output, literal_strong, sizeof(literal_strong) - 1);
@@ -1482,7 +1492,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1482
1492
  break;
1483
1493
 
1484
1494
  case STRONG_START:
1485
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1495
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1486
1496
  {
1487
1497
  wiki_emit_pending_crlf_if_necessary(parser);
1488
1498
  str_append(parser->output, escaped_strong_start, sizeof(escaped_strong_start) - 1);
@@ -1490,7 +1500,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1490
1500
  else
1491
1501
  {
1492
1502
  output = parser->capture ? parser->capture : parser->output;
1493
- if (IN(STRONG_START) || IN(STRONG))
1503
+ if (IN_EITHER_OF(STRONG_START, STRONG))
1494
1504
  str_append(output, escaped_strong_start, sizeof(escaped_strong_start) - 1);
1495
1505
  else
1496
1506
  {
@@ -1504,7 +1514,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1504
1514
  break;
1505
1515
 
1506
1516
  case STRONG_END:
1507
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1517
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1508
1518
  {
1509
1519
  wiki_emit_pending_crlf_if_necessary(parser);
1510
1520
  str_append(parser->output, escaped_strong_end, sizeof(escaped_strong_end) - 1);
@@ -1525,7 +1535,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1525
1535
  break;
1526
1536
 
1527
1537
  case EM:
1528
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1538
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1529
1539
  {
1530
1540
  wiki_emit_pending_crlf_if_necessary(parser);
1531
1541
  str_append(parser->output, literal_em, sizeof(literal_em) - 1);
@@ -1552,7 +1562,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1552
1562
  break;
1553
1563
 
1554
1564
  case EM_START:
1555
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1565
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1556
1566
  {
1557
1567
  wiki_emit_pending_crlf_if_necessary(parser);
1558
1568
  str_append(parser->output, escaped_em_start, sizeof(escaped_em_start) - 1);
@@ -1560,7 +1570,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1560
1570
  else
1561
1571
  {
1562
1572
  output = parser->capture ? parser->capture : parser->output;
1563
- if (IN(EM_START) || IN(EM))
1573
+ if (IN_EITHER_OF(EM_START, EM))
1564
1574
  str_append(output, escaped_em_start, sizeof(escaped_em_start) - 1);
1565
1575
  else
1566
1576
  {
@@ -1574,7 +1584,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1574
1584
  break;
1575
1585
 
1576
1586
  case EM_END:
1577
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1587
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1578
1588
  {
1579
1589
  wiki_emit_pending_crlf_if_necessary(parser);
1580
1590
  str_append(parser->output, escaped_em_end, sizeof(escaped_em_end) - 1);
@@ -1595,7 +1605,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1595
1605
  break;
1596
1606
 
1597
1607
  case TT:
1598
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1608
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1599
1609
  {
1600
1610
  wiki_emit_pending_crlf_if_necessary(parser);
1601
1611
  str_append(parser->output, backtick, sizeof(backtick) - 1);
@@ -1622,7 +1632,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1622
1632
  break;
1623
1633
 
1624
1634
  case TT_START:
1625
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1635
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1626
1636
  {
1627
1637
  wiki_emit_pending_crlf_if_necessary(parser);
1628
1638
  str_append(parser->output, escaped_tt_start, sizeof(escaped_tt_start) - 1);
@@ -1630,7 +1640,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1630
1640
  else
1631
1641
  {
1632
1642
  output = parser->capture ? parser->capture : parser->output;
1633
- if (IN(TT_START) || IN(TT))
1643
+ if (IN_EITHER_OF(TT_START, TT))
1634
1644
  str_append(output, escaped_tt_start, sizeof(escaped_tt_start) - 1);
1635
1645
  else
1636
1646
  {
@@ -1644,7 +1654,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1644
1654
  break;
1645
1655
 
1646
1656
  case TT_END:
1647
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1657
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1648
1658
  {
1649
1659
  wiki_emit_pending_crlf_if_necessary(parser);
1650
1660
  str_append(parser->output, escaped_tt_end, sizeof(escaped_tt_end) - 1);
@@ -1666,7 +1676,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1666
1676
 
1667
1677
  case OL:
1668
1678
  case UL:
1669
- if (IN(NO_WIKI_START) || IN(PRE_START))
1679
+ if (IN_EITHER_OF(NO_WIKI_START, PRE_START))
1670
1680
  {
1671
1681
  // no need to check for PRE; can never appear inside it
1672
1682
  str_append(parser->output, token->start, TOKEN_LEN(token));
@@ -1800,7 +1810,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1800
1810
  case H3_START:
1801
1811
  case H2_START:
1802
1812
  case H1_START:
1803
- if (IN(NO_WIKI_START) || IN(PRE_START))
1813
+ if (IN_EITHER_OF(NO_WIKI_START, PRE_START))
1804
1814
  {
1805
1815
  // no need to check for PRE; can never appear inside it
1806
1816
  str_append(parser->output, token->start, TOKEN_LEN(token));
@@ -1861,7 +1871,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1861
1871
  case H3_END:
1862
1872
  case H2_END:
1863
1873
  case H1_END:
1864
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1874
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1865
1875
  {
1866
1876
  wiki_emit_pending_crlf_if_necessary(parser);
1867
1877
  str_append(parser->output, token->start, TOKEN_LEN(token));
@@ -1884,7 +1894,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1884
1894
  break;
1885
1895
 
1886
1896
  case MAIL:
1887
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1897
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1888
1898
  {
1889
1899
  wiki_emit_pending_crlf_if_necessary(parser);
1890
1900
  str_append(parser->output, token->start, TOKEN_LEN(token));
@@ -1952,7 +1962,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
1952
1962
  break;
1953
1963
 
1954
1964
  case PATH:
1955
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
1965
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
1956
1966
  str_append(parser->output, token->start, TOKEN_LEN(token));
1957
1967
  else if (IN(EXT_LINK_START))
1958
1968
  {
@@ -2017,7 +2027,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2017
2027
  // everything else will be rejected
2018
2028
  case LINK_START:
2019
2029
  output = parser->capture ? parser->capture : parser->output;
2020
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2030
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2021
2031
  {
2022
2032
  wiki_emit_pending_crlf_if_necessary(parser);
2023
2033
  str_append(output, link_start, sizeof(link_start) - 1);
@@ -2108,7 +2118,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2108
2118
 
2109
2119
  case LINK_END:
2110
2120
  output = parser->capture ? parser->capture : parser->output;
2111
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2121
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2112
2122
  {
2113
2123
  wiki_emit_pending_crlf_if_necessary(parser);
2114
2124
  str_append(output, link_end, sizeof(link_end) - 1);
@@ -2156,7 +2166,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2156
2166
  // he was very angery [sic] about the turn of events
2157
2167
  case EXT_LINK_START:
2158
2168
  output = parser->capture ? parser->capture : parser->output;
2159
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2169
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2160
2170
  {
2161
2171
  wiki_emit_pending_crlf_if_necessary(parser);
2162
2172
  str_append(output, ext_link_start, sizeof(ext_link_start) - 1);
@@ -2191,7 +2201,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2191
2201
 
2192
2202
  case EXT_LINK_END:
2193
2203
  output = parser->capture ? parser->capture : parser->output;
2194
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2204
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2195
2205
  {
2196
2206
  wiki_emit_pending_crlf_if_necessary(parser);
2197
2207
  str_append(output, ext_link_end, sizeof(ext_link_end) - 1);
@@ -2229,7 +2239,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2229
2239
 
2230
2240
  case SPACE:
2231
2241
  output = parser->capture ? parser->capture : parser->output;
2232
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2242
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2233
2243
  {
2234
2244
  wiki_emit_pending_crlf_if_necessary(parser);
2235
2245
  str_append(output, token->start, TOKEN_LEN(token));
@@ -2312,7 +2322,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2312
2322
  break;
2313
2323
 
2314
2324
  case IMG_START:
2315
- if (IN(NO_WIKI_START) || IN(PRE) || IN(PRE_START))
2325
+ if (IN_ANY_OF(NO_WIKI_START, PRE, PRE_START))
2316
2326
  {
2317
2327
  wiki_emit_pending_crlf_if_necessary(parser);
2318
2328
  str_append(parser->output, token->start, TOKEN_LEN(token));
@@ -2358,7 +2368,7 @@ VALUE Wikitext_parser_parse(int argc, VALUE *argv, VALUE self)
2358
2368
  i = parser->pending_crlf;
2359
2369
  parser->pending_crlf = false;
2360
2370
  wiki_rollback_failed_link(parser); // if any
2361
- if (IN(NO_WIKI_START) || IN(PRE_START))
2371
+ if (IN_EITHER_OF(NO_WIKI_START, PRE_START))
2362
2372
  {
2363
2373
  ary_clear(parser->line_buffer);
2364
2374
  str_append_str(parser->output, parser->line_ending);
data/ext/wikitext_ragel.c CHANGED
@@ -1,18 +1,27 @@
1
1
 
2
2
  #line 1 "wikitext_ragel.rl"
3
- // Copyright 2008-2009 Wincent Colaiuta
4
- // This program is free software: you can redistribute it and/or modify
5
- // it under the terms of the GNU General Public License as published by
6
- // the Free Software Foundation, either version 3 of the License, or
7
- // (at your option) any later version.
3
+ // Copyright 2008-2009 Wincent Colaiuta. All rights reserved.
8
4
  //
9
- // This program is distributed in the hope that it will be useful,
10
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- // GNU General Public License for more details.
5
+ // Redistribution and use in source and binary forms, with or without
6
+ // modification, are permitted provided that the following conditions are met:
13
7
  //
14
- // You should have received a copy of the GNU General Public License
15
- // along with this program. If not, see <http://www.gnu.org/licenses/>.
8
+ // 1. Redistributions of source code must retain the above copyright notice,
9
+ // this list of conditions and the following disclaimer.
10
+ // 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ // this list of conditions and the following disclaimer in the documentation
12
+ // and/or other materials provided with the distribution.
13
+
14
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
+ // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
+ // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
18
+ // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ // POSSIBILITY OF SUCH DAMAGE.
16
25
 
17
26
  //----------------------------------------------------------------------//
18
27
  // NOTE: wikitext_ragel.c is generated from wikitext_ragel.rl, so //
@@ -32,15 +41,15 @@
32
41
  #define NEXT_CHAR() (*(p + 1))
33
42
 
34
43
 
35
- #line 36 "wikitext_ragel.c"
36
- static const int wikitext_start = 94;
37
- static const int wikitext_first_final = 94;
44
+ #line 45 "wikitext_ragel.c"
45
+ static const int wikitext_start = 106;
46
+ static const int wikitext_first_final = 106;
38
47
  static const int wikitext_error = 0;
39
48
 
40
- static const int wikitext_en_main = 94;
49
+ static const int wikitext_en_main = 106;
41
50
 
42
51
 
43
- #line 468 "wikitext_ragel.rl"
52
+ #line 483 "wikitext_ragel.rl"
44
53
 
45
54
 
46
55
  // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
@@ -83,7 +92,7 @@ void next_token(token_t *out, token_t *last_token, char *p, char *pe)
83
92
  char *te; // token end (scanner)
84
93
  int act; // identity of last patterned matched (scanner)
85
94
 
86
- #line 87 "wikitext_ragel.c"
95
+ #line 96 "wikitext_ragel.c"
87
96
  {
88
97
  cs = wikitext_start;
89
98
  ts = 0;
@@ -91,273 +100,280 @@ void next_token(token_t *out, token_t *last_token, char *p, char *pe)
91
100
  act = 0;
92
101
  }
93
102
 
94
- #line 510 "wikitext_ragel.rl"
103
+ #line 525 "wikitext_ragel.rl"
95
104
 
96
- #line 97 "wikitext_ragel.c"
105
+ #line 106 "wikitext_ragel.c"
97
106
  {
98
107
  if ( p == pe )
99
108
  goto _test_eof;
100
109
  switch ( cs )
101
110
  {
102
111
  tr0:
103
- #line 46 "wikitext_ragel.rl"
112
+ #line 55 "wikitext_ragel.rl"
104
113
  {
105
114
  out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
106
115
  (*p & 0x3f);
107
116
  }
108
- #line 459 "wikitext_ragel.rl"
117
+ #line 474 "wikitext_ragel.rl"
109
118
  {te = p+1;{
110
119
  EMIT(DEFAULT);
111
120
  out->column_stop = out->column_start + 1;
112
- {p++; cs = 94; goto _out;}
121
+ {p++; cs = 106; goto _out;}
113
122
  }}
114
- goto st94;
123
+ goto st106;
115
124
  tr3:
116
- #line 52 "wikitext_ragel.rl"
125
+ #line 61 "wikitext_ragel.rl"
117
126
  {
118
127
  out->code_point = ((uint32_t)(*(p - 2)) & 0x0f) << 12 |
119
128
  ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
120
129
  (*p & 0x3f);
121
130
  }
122
- #line 459 "wikitext_ragel.rl"
131
+ #line 474 "wikitext_ragel.rl"
123
132
  {te = p+1;{
124
133
  EMIT(DEFAULT);
125
134
  out->column_stop = out->column_start + 1;
126
- {p++; cs = 94; goto _out;}
135
+ {p++; cs = 106; goto _out;}
127
136
  }}
128
- goto st94;
137
+ goto st106;
129
138
  tr6:
130
- #line 59 "wikitext_ragel.rl"
139
+ #line 68 "wikitext_ragel.rl"
131
140
  {
132
141
  out->code_point = ((uint32_t)(*(p - 3)) & 0x07) << 18 |
133
142
  ((uint32_t)(*(p - 2)) & 0x3f) << 12 |
134
143
  ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
135
144
  (*p & 0x3f);
136
145
  }
137
- #line 459 "wikitext_ragel.rl"
146
+ #line 474 "wikitext_ragel.rl"
138
147
  {te = p+1;{
139
148
  EMIT(DEFAULT);
140
149
  out->column_stop = out->column_start + 1;
141
- {p++; cs = 94; goto _out;}
150
+ {p++; cs = 106; goto _out;}
142
151
  }}
143
- goto st94;
152
+ goto st106;
144
153
  tr7:
145
- #line 366 "wikitext_ragel.rl"
154
+ #line 381 "wikitext_ragel.rl"
146
155
  {{p = ((te))-1;}{
147
156
  EMIT(AMP);
148
- {p++; cs = 94; goto _out;}
157
+ {p++; cs = 106; goto _out;}
149
158
  }}
150
- goto st94;
159
+ goto st106;
151
160
  tr10:
152
- #line 354 "wikitext_ragel.rl"
161
+ #line 369 "wikitext_ragel.rl"
153
162
  {te = p+1;{
154
163
  EMIT(DECIMAL_ENTITY);
155
- {p++; cs = 94; goto _out;}
164
+ {p++; cs = 106; goto _out;}
156
165
  }}
157
- goto st94;
166
+ goto st106;
158
167
  tr12:
159
- #line 348 "wikitext_ragel.rl"
168
+ #line 363 "wikitext_ragel.rl"
160
169
  {te = p+1;{
161
170
  EMIT(HEX_ENTITY);
162
- {p++; cs = 94; goto _out;}
171
+ {p++; cs = 106; goto _out;}
163
172
  }}
164
- goto st94;
173
+ goto st106;
165
174
  tr14:
166
- #line 342 "wikitext_ragel.rl"
175
+ #line 357 "wikitext_ragel.rl"
167
176
  {te = p+1;{
168
177
  EMIT(NAMED_ENTITY);
169
- {p++; cs = 94; goto _out;}
178
+ {p++; cs = 106; goto _out;}
170
179
  }}
171
- goto st94;
180
+ goto st106;
172
181
  tr18:
173
- #line 336 "wikitext_ragel.rl"
182
+ #line 351 "wikitext_ragel.rl"
174
183
  {te = p+1;{
175
184
  EMIT(AMP_ENTITY);
176
- {p++; cs = 94; goto _out;}
185
+ {p++; cs = 106; goto _out;}
177
186
  }}
178
- goto st94;
187
+ goto st106;
179
188
  tr22:
180
- #line 330 "wikitext_ragel.rl"
189
+ #line 345 "wikitext_ragel.rl"
181
190
  {te = p+1;{
182
191
  EMIT(QUOT_ENTITY);
183
- {p++; cs = 94; goto _out;}
192
+ {p++; cs = 106; goto _out;}
184
193
  }}
185
- goto st94;
194
+ goto st106;
186
195
  tr23:
187
196
  #line 1 "wikitext_ragel.rl"
188
197
  { switch( act ) {
189
- case 20:
198
+ case 21:
190
199
  {{p = ((te))-1;}
191
200
  EMIT(URI);
192
- {p++; cs = 94; goto _out;}
201
+ {p++; cs = 106; goto _out;}
193
202
  }
194
203
  break;
195
- case 21:
204
+ case 22:
196
205
  {{p = ((te))-1;}
197
206
  EMIT(MAIL);
198
- {p++; cs = 94; goto _out;}
207
+ {p++; cs = 106; goto _out;}
199
208
  }
200
209
  break;
201
- case 42:
210
+ case 43:
202
211
  {{p = ((te))-1;}
203
212
  EMIT(SPECIAL_URI_CHARS);
204
- {p++; cs = 94; goto _out;}
213
+ {p++; cs = 106; goto _out;}
205
214
  }
206
215
  break;
207
- case 43:
216
+ case 44:
208
217
  {{p = ((te))-1;}
209
218
  EMIT(ALNUM);
210
- {p++; cs = 94; goto _out;}
219
+ {p++; cs = 106; goto _out;}
211
220
  }
212
221
  break;
213
- case 44:
222
+ case 45:
214
223
  {{p = ((te))-1;}
215
224
  EMIT(PRINTABLE);
216
- {p++; cs = 94; goto _out;}
225
+ {p++; cs = 106; goto _out;}
217
226
  }
218
227
  break;
219
228
  }
220
229
  }
221
- goto st94;
230
+ goto st106;
222
231
  tr30:
223
- #line 372 "wikitext_ragel.rl"
232
+ #line 387 "wikitext_ragel.rl"
224
233
  {{p = ((te))-1;}{
225
234
  EMIT(LESS);
226
- {p++; cs = 94; goto _out;}
235
+ {p++; cs = 106; goto _out;}
227
236
  }}
228
- goto st94;
237
+ goto st106;
229
238
  tr46:
230
- #line 111 "wikitext_ragel.rl"
239
+ #line 126 "wikitext_ragel.rl"
231
240
  {te = p+1;{
232
241
  EMIT(BLOCKQUOTE_END);
233
- {p++; cs = 94; goto _out;}
242
+ {p++; cs = 106; goto _out;}
234
243
  }}
235
- goto st94;
244
+ goto st106;
236
245
  tr48:
237
- #line 153 "wikitext_ragel.rl"
246
+ #line 168 "wikitext_ragel.rl"
238
247
  {te = p+1;{
239
248
  EMIT(EM_END);
240
- {p++; cs = 94; goto _out;}
249
+ {p++; cs = 106; goto _out;}
241
250
  }}
242
- goto st94;
251
+ goto st106;
243
252
  tr54:
244
- #line 87 "wikitext_ragel.rl"
253
+ #line 96 "wikitext_ragel.rl"
245
254
  {te = p+1;{
246
255
  EMIT(NO_WIKI_END);
247
- {p++; cs = 94; goto _out;}
256
+ {p++; cs = 106; goto _out;}
248
257
  }}
249
- goto st94;
258
+ goto st106;
250
259
  tr57:
251
- #line 99 "wikitext_ragel.rl"
260
+ #line 114 "wikitext_ragel.rl"
252
261
  {te = p+1;{
253
262
  EMIT(PRE_END);
254
- {p++; cs = 94; goto _out;}
263
+ {p++; cs = 106; goto _out;}
255
264
  }}
256
- goto st94;
265
+ goto st106;
257
266
  tr63:
258
- #line 141 "wikitext_ragel.rl"
267
+ #line 156 "wikitext_ragel.rl"
259
268
  {te = p+1;{
260
269
  EMIT(STRONG_END);
261
- {p++; cs = 94; goto _out;}
270
+ {p++; cs = 106; goto _out;}
262
271
  }}
263
- goto st94;
272
+ goto st106;
264
273
  tr65:
265
- #line 171 "wikitext_ragel.rl"
274
+ #line 186 "wikitext_ragel.rl"
266
275
  {te = p+1;{
267
276
  EMIT(TT_END);
268
- {p++; cs = 94; goto _out;}
277
+ {p++; cs = 106; goto _out;}
269
278
  }}
270
- goto st94;
279
+ goto st106;
271
280
  tr75:
272
- #line 105 "wikitext_ragel.rl"
281
+ #line 120 "wikitext_ragel.rl"
273
282
  {te = p+1;{
274
283
  EMIT(BLOCKQUOTE_START);
275
- {p++; cs = 94; goto _out;}
284
+ {p++; cs = 106; goto _out;}
276
285
  }}
277
- goto st94;
286
+ goto st106;
278
287
  tr77:
279
- #line 147 "wikitext_ragel.rl"
288
+ #line 162 "wikitext_ragel.rl"
280
289
  {te = p+1;{
281
290
  EMIT(EM_START);
282
- {p++; cs = 94; goto _out;}
291
+ {p++; cs = 106; goto _out;}
283
292
  }}
284
- goto st94;
293
+ goto st106;
285
294
  tr83:
286
- #line 81 "wikitext_ragel.rl"
295
+ #line 90 "wikitext_ragel.rl"
287
296
  {te = p+1;{
288
297
  EMIT(NO_WIKI_START);
289
- {p++; cs = 94; goto _out;}
298
+ {p++; cs = 106; goto _out;}
290
299
  }}
291
- goto st94;
300
+ goto st106;
292
301
  tr86:
293
- #line 93 "wikitext_ragel.rl"
302
+ #line 102 "wikitext_ragel.rl"
294
303
  {te = p+1;{
295
304
  EMIT(PRE_START);
296
- {p++; cs = 94; goto _out;}
305
+ {p++; cs = 106; goto _out;}
297
306
  }}
298
- goto st94;
307
+ goto st106;
299
308
  tr92:
300
- #line 135 "wikitext_ragel.rl"
309
+ #line 150 "wikitext_ragel.rl"
301
310
  {te = p+1;{
302
311
  EMIT(STRONG_START);
303
- {p++; cs = 94; goto _out;}
312
+ {p++; cs = 106; goto _out;}
304
313
  }}
305
- goto st94;
314
+ goto st106;
306
315
  tr94:
307
- #line 165 "wikitext_ragel.rl"
316
+ #line 180 "wikitext_ragel.rl"
308
317
  {te = p+1;{
309
318
  EMIT(TT_START);
310
- {p++; cs = 94; goto _out;}
319
+ {p++; cs = 106; goto _out;}
320
+ }}
321
+ goto st106;
322
+ tr106:
323
+ #line 108 "wikitext_ragel.rl"
324
+ {te = p+1;{
325
+ EMIT(PRE_START);
326
+ {p++; cs = 106; goto _out;}
311
327
  }}
312
- goto st94;
313
- tr95:
314
- #line 427 "wikitext_ragel.rl"
328
+ goto st106;
329
+ tr107:
330
+ #line 442 "wikitext_ragel.rl"
315
331
  {{p = ((te))-1;}{
316
332
  EMIT(ALNUM);
317
- {p++; cs = 94; goto _out;}
333
+ {p++; cs = 106; goto _out;}
318
334
  }}
319
- goto st94;
320
- tr99:
321
- #line 282 "wikitext_ragel.rl"
335
+ goto st106;
336
+ tr111:
337
+ #line 297 "wikitext_ragel.rl"
322
338
  {{p = ((te))-1;}{
323
339
  EMIT(URI);
324
- {p++; cs = 94; goto _out;}
340
+ {p++; cs = 106; goto _out;}
325
341
  }}
326
- goto st94;
327
- tr110:
328
- #line 41 "wikitext_ragel.rl"
342
+ goto st106;
343
+ tr122:
344
+ #line 50 "wikitext_ragel.rl"
329
345
  {
330
346
  out->code_point = *p & 0x7f;
331
347
  }
332
- #line 459 "wikitext_ragel.rl"
348
+ #line 474 "wikitext_ragel.rl"
333
349
  {te = p+1;{
334
350
  EMIT(DEFAULT);
335
351
  out->column_stop = out->column_start + 1;
336
- {p++; cs = 94; goto _out;}
352
+ {p++; cs = 106; goto _out;}
337
353
  }}
338
- goto st94;
339
- tr111:
340
- #line 408 "wikitext_ragel.rl"
354
+ goto st106;
355
+ tr123:
356
+ #line 423 "wikitext_ragel.rl"
341
357
  {te = p+1;{
342
358
  EMIT(CRLF);
343
359
  out->column_stop = 1;
344
360
  out->line_stop++;
345
- {p++; cs = 94; goto _out;}
361
+ {p++; cs = 106; goto _out;}
346
362
  }}
347
- #line 41 "wikitext_ragel.rl"
363
+ #line 50 "wikitext_ragel.rl"
348
364
  {
349
365
  out->code_point = *p & 0x7f;
350
366
  }
351
- goto st94;
352
- tr115:
353
- #line 360 "wikitext_ragel.rl"
367
+ goto st106;
368
+ tr127:
369
+ #line 375 "wikitext_ragel.rl"
354
370
  {te = p+1;{
355
371
  EMIT(QUOT);
356
- {p++; cs = 94; goto _out;}
372
+ {p++; cs = 106; goto _out;}
357
373
  }}
358
- goto st94;
359
- tr116:
360
- #line 203 "wikitext_ragel.rl"
374
+ goto st106;
375
+ tr128:
376
+ #line 218 "wikitext_ragel.rl"
361
377
  {te = p+1;{
362
378
  if (out->column_start == 1 ||
363
379
  last_token_type == OL ||
@@ -367,11 +383,11 @@ tr116:
367
383
  EMIT(OL);
368
384
  else
369
385
  EMIT(PRINTABLE);
370
- {p++; cs = 94; goto _out;}
386
+ {p++; cs = 106; goto _out;}
371
387
  }}
372
- goto st94;
373
- tr120:
374
- #line 216 "wikitext_ragel.rl"
388
+ goto st106;
389
+ tr132:
390
+ #line 231 "wikitext_ragel.rl"
375
391
  {te = p+1;{
376
392
  if (out->column_start == 1 ||
377
393
  last_token_type == OL ||
@@ -381,43 +397,43 @@ tr120:
381
397
  EMIT(UL);
382
398
  else
383
399
  EMIT(PRINTABLE);
384
- {p++; cs = 94; goto _out;}
400
+ {p++; cs = 106; goto _out;}
385
401
  }}
386
- goto st94;
387
- tr134:
388
- #line 159 "wikitext_ragel.rl"
402
+ goto st106;
403
+ tr146:
404
+ #line 174 "wikitext_ragel.rl"
389
405
  {te = p+1;{
390
406
  EMIT(TT);
391
- {p++; cs = 94; goto _out;}
407
+ {p++; cs = 106; goto _out;}
392
408
  }}
393
- goto st94;
394
- tr136:
395
- #line 312 "wikitext_ragel.rl"
409
+ goto st106;
410
+ tr148:
411
+ #line 327 "wikitext_ragel.rl"
396
412
  {te = p+1;{
397
413
  EMIT(SEPARATOR);
398
- {p++; cs = 94; goto _out;}
414
+ {p++; cs = 106; goto _out;}
399
415
  }}
400
- goto st94;
401
- tr138:
402
- #line 408 "wikitext_ragel.rl"
416
+ goto st106;
417
+ tr150:
418
+ #line 423 "wikitext_ragel.rl"
403
419
  {te = p;p--;{
404
420
  EMIT(CRLF);
405
421
  out->column_stop = 1;
406
422
  out->line_stop++;
407
- {p++; cs = 94; goto _out;}
423
+ {p++; cs = 106; goto _out;}
408
424
  }}
409
- goto st94;
410
- tr139:
411
- #line 408 "wikitext_ragel.rl"
425
+ goto st106;
426
+ tr151:
427
+ #line 423 "wikitext_ragel.rl"
412
428
  {te = p+1;{
413
429
  EMIT(CRLF);
414
430
  out->column_stop = 1;
415
431
  out->line_stop++;
416
- {p++; cs = 94; goto _out;}
432
+ {p++; cs = 106; goto _out;}
417
433
  }}
418
- goto st94;
419
- tr140:
420
- #line 191 "wikitext_ragel.rl"
434
+ goto st106;
435
+ tr152:
436
+ #line 206 "wikitext_ragel.rl"
421
437
  {te = p;p--;{
422
438
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
423
439
  {
@@ -426,32 +442,32 @@ tr140:
426
442
  }
427
443
  else
428
444
  EMIT(SPACE);
429
- {p++; cs = 94; goto _out;}
445
+ {p++; cs = 106; goto _out;}
430
446
  }}
431
- goto st94;
432
- tr142:
433
- #line 421 "wikitext_ragel.rl"
447
+ goto st106;
448
+ tr154:
449
+ #line 436 "wikitext_ragel.rl"
434
450
  {te = p;p--;{
435
451
  EMIT(SPECIAL_URI_CHARS);
436
- {p++; cs = 94; goto _out;}
452
+ {p++; cs = 106; goto _out;}
437
453
  }}
438
- goto st94;
439
- tr143:
440
- #line 439 "wikitext_ragel.rl"
454
+ goto st106;
455
+ tr155:
456
+ #line 454 "wikitext_ragel.rl"
441
457
  {te = p;p--;{
442
458
  EMIT(PRINTABLE);
443
- {p++; cs = 94; goto _out;}
459
+ {p++; cs = 106; goto _out;}
444
460
  }}
445
- goto st94;
446
- tr144:
447
- #line 366 "wikitext_ragel.rl"
461
+ goto st106;
462
+ tr156:
463
+ #line 381 "wikitext_ragel.rl"
448
464
  {te = p;p--;{
449
465
  EMIT(AMP);
450
- {p++; cs = 94; goto _out;}
466
+ {p++; cs = 106; goto _out;}
451
467
  }}
452
- goto st94;
453
- tr148:
454
- #line 117 "wikitext_ragel.rl"
468
+ goto st106;
469
+ tr160:
470
+ #line 132 "wikitext_ragel.rl"
455
471
  {te = p;p--;{
456
472
  if (DISTANCE() == 5)
457
473
  EMIT(STRONG_EM);
@@ -466,11 +482,11 @@ tr148:
466
482
  EMIT(EM);
467
483
  else
468
484
  EMIT(PRINTABLE);
469
- {p++; cs = 94; goto _out;}
485
+ {p++; cs = 106; goto _out;}
470
486
  }}
471
- goto st94;
472
- tr152:
473
- #line 117 "wikitext_ragel.rl"
487
+ goto st106;
488
+ tr164:
489
+ #line 132 "wikitext_ragel.rl"
474
490
  {te = p+1;{
475
491
  if (DISTANCE() == 5)
476
492
  EMIT(STRONG_EM);
@@ -485,39 +501,39 @@ tr152:
485
501
  EMIT(EM);
486
502
  else
487
503
  EMIT(PRINTABLE);
488
- {p++; cs = 94; goto _out;}
504
+ {p++; cs = 106; goto _out;}
489
505
  }}
490
- goto st94;
491
- tr154:
492
- #line 288 "wikitext_ragel.rl"
506
+ goto st106;
507
+ tr166:
508
+ #line 303 "wikitext_ragel.rl"
493
509
  {te = p;p--;{
494
510
  EMIT(MAIL);
495
- {p++; cs = 94; goto _out;}
511
+ {p++; cs = 106; goto _out;}
496
512
  }}
497
- goto st94;
498
- tr158:
499
- #line 294 "wikitext_ragel.rl"
513
+ goto st106;
514
+ tr170:
515
+ #line 309 "wikitext_ragel.rl"
500
516
  {te = p;p--;{
501
517
  EMIT(PATH);
502
- {p++; cs = 94; goto _out;}
518
+ {p++; cs = 106; goto _out;}
503
519
  }}
504
- goto st94;
505
- tr162:
506
- #line 427 "wikitext_ragel.rl"
520
+ goto st106;
521
+ tr174:
522
+ #line 442 "wikitext_ragel.rl"
507
523
  {te = p;p--;{
508
524
  EMIT(ALNUM);
509
- {p++; cs = 94; goto _out;}
525
+ {p++; cs = 106; goto _out;}
510
526
  }}
511
- goto st94;
512
- tr163:
513
- #line 372 "wikitext_ragel.rl"
527
+ goto st106;
528
+ tr175:
529
+ #line 387 "wikitext_ragel.rl"
514
530
  {te = p;p--;{
515
531
  EMIT(LESS);
516
- {p++; cs = 94; goto _out;}
532
+ {p++; cs = 106; goto _out;}
517
533
  }}
518
- goto st94;
519
- tr171:
520
- #line 229 "wikitext_ragel.rl"
534
+ goto st106;
535
+ tr184:
536
+ #line 244 "wikitext_ragel.rl"
521
537
  {te = p;p--;{
522
538
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
523
539
  {
@@ -567,11 +583,11 @@ tr171:
567
583
  REWIND();
568
584
  EMIT(PRINTABLE);
569
585
  }
570
- {p++; cs = 94; goto _out;}
586
+ {p++; cs = 106; goto _out;}
571
587
  }}
572
- goto st94;
573
- tr173:
574
- #line 178 "wikitext_ragel.rl"
588
+ goto st106;
589
+ tr186:
590
+ #line 193 "wikitext_ragel.rl"
575
591
  {te = p;p--;{
576
592
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
577
593
  EMIT(BLOCKQUOTE);
@@ -580,11 +596,11 @@ tr173:
580
596
  REWIND();
581
597
  EMIT(GREATER);
582
598
  }
583
- {p++; cs = 94; goto _out;}
599
+ {p++; cs = 106; goto _out;}
584
600
  }}
585
- goto st94;
586
- tr174:
587
- #line 178 "wikitext_ragel.rl"
601
+ goto st106;
602
+ tr187:
603
+ #line 193 "wikitext_ragel.rl"
588
604
  {te = p+1;{
589
605
  if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
590
606
  EMIT(BLOCKQUOTE);
@@ -593,118 +609,118 @@ tr174:
593
609
  REWIND();
594
610
  EMIT(GREATER);
595
611
  }
596
- {p++; cs = 94; goto _out;}
612
+ {p++; cs = 106; goto _out;}
597
613
  }}
598
- goto st94;
599
- tr178:
600
- #line 282 "wikitext_ragel.rl"
614
+ goto st106;
615
+ tr191:
616
+ #line 297 "wikitext_ragel.rl"
601
617
  {te = p;p--;{
602
618
  EMIT(URI);
603
- {p++; cs = 94; goto _out;}
619
+ {p++; cs = 106; goto _out;}
604
620
  }}
605
- goto st94;
606
- tr192:
607
- #line 318 "wikitext_ragel.rl"
621
+ goto st106;
622
+ tr205:
623
+ #line 333 "wikitext_ragel.rl"
608
624
  {te = p;p--;{
609
625
  EMIT(EXT_LINK_START);
610
- {p++; cs = 94; goto _out;}
626
+ {p++; cs = 106; goto _out;}
611
627
  }}
612
- goto st94;
613
- tr193:
614
- #line 300 "wikitext_ragel.rl"
628
+ goto st106;
629
+ tr206:
630
+ #line 315 "wikitext_ragel.rl"
615
631
  {te = p+1;{
616
632
  EMIT(LINK_START);
617
- {p++; cs = 94; goto _out;}
633
+ {p++; cs = 106; goto _out;}
618
634
  }}
619
- goto st94;
620
- tr194:
621
- #line 324 "wikitext_ragel.rl"
635
+ goto st106;
636
+ tr207:
637
+ #line 339 "wikitext_ragel.rl"
622
638
  {te = p;p--;{
623
639
  EMIT(EXT_LINK_END);
624
- {p++; cs = 94; goto _out;}
640
+ {p++; cs = 106; goto _out;}
625
641
  }}
626
- goto st94;
627
- tr195:
628
- #line 306 "wikitext_ragel.rl"
642
+ goto st106;
643
+ tr208:
644
+ #line 321 "wikitext_ragel.rl"
629
645
  {te = p+1;{
630
646
  EMIT(LINK_END);
631
- {p++; cs = 94; goto _out;}
647
+ {p++; cs = 106; goto _out;}
632
648
  }}
633
- goto st94;
634
- tr196:
635
- #line 396 "wikitext_ragel.rl"
649
+ goto st106;
650
+ tr209:
651
+ #line 411 "wikitext_ragel.rl"
636
652
  {te = p;p--;{
637
653
  EMIT(LEFT_CURLY);
638
- {p++; cs = 94; goto _out;}
654
+ {p++; cs = 106; goto _out;}
639
655
  }}
640
- goto st94;
641
- tr197:
642
- #line 384 "wikitext_ragel.rl"
656
+ goto st106;
657
+ tr210:
658
+ #line 399 "wikitext_ragel.rl"
643
659
  {te = p+1;{
644
660
  EMIT(IMG_START);
645
- {p++; cs = 94; goto _out;}
661
+ {p++; cs = 106; goto _out;}
646
662
  }}
647
- goto st94;
648
- tr198:
649
- #line 402 "wikitext_ragel.rl"
663
+ goto st106;
664
+ tr211:
665
+ #line 417 "wikitext_ragel.rl"
650
666
  {te = p;p--;{
651
667
  EMIT(RIGHT_CURLY);
652
- {p++; cs = 94; goto _out;}
668
+ {p++; cs = 106; goto _out;}
653
669
  }}
654
- goto st94;
655
- tr199:
656
- #line 390 "wikitext_ragel.rl"
670
+ goto st106;
671
+ tr212:
672
+ #line 405 "wikitext_ragel.rl"
657
673
  {te = p+1;{
658
674
  EMIT(IMG_END);
659
- {p++; cs = 94; goto _out;}
675
+ {p++; cs = 106; goto _out;}
660
676
  }}
661
- goto st94;
662
- st94:
677
+ goto st106;
678
+ st106:
663
679
  #line 1 "wikitext_ragel.rl"
664
680
  {ts = 0;}
665
681
  if ( ++p == pe )
666
- goto _test_eof94;
667
- case 94:
682
+ goto _test_eof106;
683
+ case 106:
668
684
  #line 1 "wikitext_ragel.rl"
669
685
  {ts = p;}
670
- #line 671 "wikitext_ragel.c"
671
- switch( (*p) ) {
672
- case 10: goto tr111;
673
- case 13: goto tr112;
674
- case 32: goto tr113;
675
- case 33: goto st97;
676
- case 34: goto tr115;
677
- case 35: goto tr116;
678
- case 38: goto tr118;
679
- case 39: goto st100;
680
- case 42: goto tr120;
681
- case 43: goto st98;
682
- case 45: goto tr121;
683
- case 46: goto tr122;
684
- case 47: goto st111;
685
- case 60: goto tr125;
686
- case 61: goto tr126;
687
- case 62: goto tr127;
688
- case 64: goto st98;
689
- case 70: goto tr128;
690
- case 72: goto tr129;
691
- case 77: goto tr130;
692
- case 83: goto tr131;
693
- case 91: goto st140;
694
- case 92: goto st98;
695
- case 93: goto st141;
696
- case 94: goto st98;
697
- case 95: goto tr121;
698
- case 96: goto tr134;
699
- case 102: goto tr128;
700
- case 104: goto tr129;
701
- case 109: goto tr130;
702
- case 115: goto tr131;
703
- case 123: goto st142;
704
- case 124: goto tr136;
705
- case 125: goto st143;
706
- case 126: goto st98;
707
- case 127: goto tr110;
686
+ #line 687 "wikitext_ragel.c"
687
+ switch( (*p) ) {
688
+ case 10: goto tr123;
689
+ case 13: goto tr124;
690
+ case 32: goto tr125;
691
+ case 33: goto st109;
692
+ case 34: goto tr127;
693
+ case 35: goto tr128;
694
+ case 38: goto tr130;
695
+ case 39: goto st112;
696
+ case 42: goto tr132;
697
+ case 43: goto st110;
698
+ case 45: goto tr133;
699
+ case 46: goto tr134;
700
+ case 47: goto st123;
701
+ case 60: goto tr137;
702
+ case 61: goto tr138;
703
+ case 62: goto tr139;
704
+ case 64: goto st110;
705
+ case 70: goto tr140;
706
+ case 72: goto tr141;
707
+ case 77: goto tr142;
708
+ case 83: goto tr143;
709
+ case 91: goto st152;
710
+ case 92: goto st110;
711
+ case 93: goto st153;
712
+ case 94: goto st110;
713
+ case 95: goto tr133;
714
+ case 96: goto tr146;
715
+ case 102: goto tr140;
716
+ case 104: goto tr141;
717
+ case 109: goto tr142;
718
+ case 115: goto tr143;
719
+ case 123: goto st154;
720
+ case 124: goto tr148;
721
+ case 125: goto st155;
722
+ case 126: goto st110;
723
+ case 127: goto tr122;
708
724
  }
709
725
  if ( (*p) < 36 ) {
710
726
  if ( (*p) < -32 ) {
@@ -713,7 +729,7 @@ case 94:
713
729
  } else if ( (*p) > -17 ) {
714
730
  if ( (*p) > -12 ) {
715
731
  if ( 1 <= (*p) && (*p) <= 31 )
716
- goto tr110;
732
+ goto tr122;
717
733
  } else if ( (*p) >= -16 )
718
734
  goto st4;
719
735
  } else
@@ -721,17 +737,17 @@ case 94:
721
737
  } else if ( (*p) > 37 ) {
722
738
  if ( (*p) < 48 ) {
723
739
  if ( 40 <= (*p) && (*p) <= 44 )
724
- goto st97;
740
+ goto st109;
725
741
  } else if ( (*p) > 57 ) {
726
742
  if ( (*p) > 63 ) {
727
743
  if ( 65 <= (*p) && (*p) <= 122 )
728
- goto tr124;
744
+ goto tr136;
729
745
  } else if ( (*p) >= 58 )
730
- goto st97;
746
+ goto st109;
731
747
  } else
732
- goto tr124;
748
+ goto tr136;
733
749
  } else
734
- goto st98;
750
+ goto st110;
735
751
  goto st0;
736
752
  st0:
737
753
  cs = 0;
@@ -778,77 +794,77 @@ case 6:
778
794
  if ( (*p) <= -65 )
779
795
  goto tr6;
780
796
  goto st0;
781
- tr112:
782
- #line 41 "wikitext_ragel.rl"
797
+ tr124:
798
+ #line 50 "wikitext_ragel.rl"
783
799
  {
784
800
  out->code_point = *p & 0x7f;
785
801
  }
786
- goto st95;
787
- st95:
802
+ goto st107;
803
+ st107:
788
804
  if ( ++p == pe )
789
- goto _test_eof95;
790
- case 95:
791
- #line 792 "wikitext_ragel.c"
805
+ goto _test_eof107;
806
+ case 107:
807
+ #line 808 "wikitext_ragel.c"
792
808
  if ( (*p) == 10 )
793
- goto tr139;
794
- goto tr138;
795
- tr113:
796
- #line 36 "wikitext_ragel.rl"
809
+ goto tr151;
810
+ goto tr150;
811
+ tr125:
812
+ #line 45 "wikitext_ragel.rl"
797
813
  {
798
814
  MARK();
799
815
  }
800
- goto st96;
801
- st96:
816
+ goto st108;
817
+ st108:
802
818
  if ( ++p == pe )
803
- goto _test_eof96;
804
- case 96:
805
- #line 806 "wikitext_ragel.c"
819
+ goto _test_eof108;
820
+ case 108:
821
+ #line 822 "wikitext_ragel.c"
806
822
  if ( (*p) == 32 )
807
- goto st96;
808
- goto tr140;
809
- st97:
823
+ goto st108;
824
+ goto tr152;
825
+ st109:
810
826
  if ( ++p == pe )
811
- goto _test_eof97;
812
- case 97:
827
+ goto _test_eof109;
828
+ case 109:
813
829
  switch( (*p) ) {
814
- case 33: goto st97;
815
- case 44: goto st97;
816
- case 46: goto st97;
817
- case 63: goto st97;
830
+ case 33: goto st109;
831
+ case 44: goto st109;
832
+ case 46: goto st109;
833
+ case 63: goto st109;
818
834
  }
819
835
  if ( (*p) > 41 ) {
820
836
  if ( 58 <= (*p) && (*p) <= 59 )
821
- goto st97;
837
+ goto st109;
822
838
  } else if ( (*p) >= 40 )
823
- goto st97;
824
- goto tr142;
825
- st98:
839
+ goto st109;
840
+ goto tr154;
841
+ st110:
826
842
  if ( ++p == pe )
827
- goto _test_eof98;
828
- case 98:
843
+ goto _test_eof110;
844
+ case 110:
829
845
  switch( (*p) ) {
830
- case 43: goto st98;
831
- case 45: goto st98;
832
- case 47: goto st98;
833
- case 64: goto st98;
834
- case 92: goto st98;
835
- case 126: goto st98;
846
+ case 43: goto st110;
847
+ case 45: goto st110;
848
+ case 47: goto st110;
849
+ case 64: goto st110;
850
+ case 92: goto st110;
851
+ case 126: goto st110;
836
852
  }
837
853
  if ( (*p) > 37 ) {
838
854
  if ( 94 <= (*p) && (*p) <= 95 )
839
- goto st98;
855
+ goto st110;
840
856
  } else if ( (*p) >= 36 )
841
- goto st98;
842
- goto tr143;
843
- tr118:
857
+ goto st110;
858
+ goto tr155;
859
+ tr130:
844
860
  #line 1 "wikitext_ragel.rl"
845
861
  {te = p+1;}
846
- goto st99;
847
- st99:
862
+ goto st111;
863
+ st111:
848
864
  if ( ++p == pe )
849
- goto _test_eof99;
850
- case 99:
851
- #line 852 "wikitext_ragel.c"
865
+ goto _test_eof111;
866
+ case 111:
867
+ #line 868 "wikitext_ragel.c"
852
868
  switch( (*p) ) {
853
869
  case 35: goto st7;
854
870
  case 97: goto st13;
@@ -859,7 +875,7 @@ case 99:
859
875
  goto st11;
860
876
  } else if ( (*p) >= 65 )
861
877
  goto st11;
862
- goto tr144;
878
+ goto tr156;
863
879
  st7:
864
880
  if ( ++p == pe )
865
881
  goto _test_eof7;
@@ -1047,58 +1063,58 @@ case 19:
1047
1063
  } else
1048
1064
  goto st11;
1049
1065
  goto tr7;
1050
- st100:
1066
+ st112:
1051
1067
  if ( ++p == pe )
1052
- goto _test_eof100;
1053
- case 100:
1068
+ goto _test_eof112;
1069
+ case 112:
1054
1070
  if ( (*p) == 39 )
1055
- goto st101;
1056
- goto tr148;
1057
- st101:
1071
+ goto st113;
1072
+ goto tr160;
1073
+ st113:
1058
1074
  if ( ++p == pe )
1059
- goto _test_eof101;
1060
- case 101:
1075
+ goto _test_eof113;
1076
+ case 113:
1061
1077
  if ( (*p) == 39 )
1062
- goto st102;
1063
- goto tr148;
1064
- st102:
1078
+ goto st114;
1079
+ goto tr160;
1080
+ st114:
1065
1081
  if ( ++p == pe )
1066
- goto _test_eof102;
1067
- case 102:
1082
+ goto _test_eof114;
1083
+ case 114:
1068
1084
  if ( (*p) == 39 )
1069
- goto st103;
1070
- goto tr148;
1071
- st103:
1085
+ goto st115;
1086
+ goto tr160;
1087
+ st115:
1072
1088
  if ( ++p == pe )
1073
- goto _test_eof103;
1074
- case 103:
1089
+ goto _test_eof115;
1090
+ case 115:
1075
1091
  if ( (*p) == 39 )
1076
- goto tr152;
1077
- goto tr148;
1078
- tr121:
1092
+ goto tr164;
1093
+ goto tr160;
1094
+ tr133:
1079
1095
  #line 1 "wikitext_ragel.rl"
1080
1096
  {te = p+1;}
1081
- #line 439 "wikitext_ragel.rl"
1082
- {act = 44;}
1083
- goto st104;
1084
- st104:
1097
+ #line 454 "wikitext_ragel.rl"
1098
+ {act = 45;}
1099
+ goto st116;
1100
+ st116:
1085
1101
  if ( ++p == pe )
1086
- goto _test_eof104;
1087
- case 104:
1088
- #line 1089 "wikitext_ragel.c"
1102
+ goto _test_eof116;
1103
+ case 116:
1104
+ #line 1105 "wikitext_ragel.c"
1089
1105
  switch( (*p) ) {
1090
- case 43: goto st98;
1091
- case 45: goto tr121;
1092
- case 47: goto st98;
1093
- case 64: goto tr153;
1094
- case 92: goto st98;
1095
- case 94: goto st98;
1096
- case 95: goto tr121;
1097
- case 126: goto st98;
1106
+ case 43: goto st110;
1107
+ case 45: goto tr133;
1108
+ case 47: goto st110;
1109
+ case 64: goto tr165;
1110
+ case 92: goto st110;
1111
+ case 94: goto st110;
1112
+ case 95: goto tr133;
1113
+ case 126: goto st110;
1098
1114
  }
1099
1115
  if ( (*p) < 46 ) {
1100
1116
  if ( 36 <= (*p) && (*p) <= 37 )
1101
- goto st98;
1117
+ goto st110;
1102
1118
  } else if ( (*p) > 57 ) {
1103
1119
  if ( (*p) > 90 ) {
1104
1120
  if ( 97 <= (*p) && (*p) <= 122 )
@@ -1107,7 +1123,7 @@ case 104:
1107
1123
  goto st20;
1108
1124
  } else
1109
1125
  goto st20;
1110
- goto tr143;
1126
+ goto tr155;
1111
1127
  st20:
1112
1128
  if ( ++p == pe )
1113
1129
  goto _test_eof20;
@@ -1187,14 +1203,14 @@ case 24:
1187
1203
  tr29:
1188
1204
  #line 1 "wikitext_ragel.rl"
1189
1205
  {te = p+1;}
1190
- #line 288 "wikitext_ragel.rl"
1191
- {act = 21;}
1192
- goto st105;
1193
- st105:
1206
+ #line 303 "wikitext_ragel.rl"
1207
+ {act = 22;}
1208
+ goto st117;
1209
+ st117:
1194
1210
  if ( ++p == pe )
1195
- goto _test_eof105;
1196
- case 105:
1197
- #line 1198 "wikitext_ragel.c"
1211
+ goto _test_eof117;
1212
+ case 117:
1213
+ #line 1214 "wikitext_ragel.c"
1198
1214
  if ( (*p) == 46 )
1199
1215
  goto st23;
1200
1216
  if ( (*p) < 65 ) {
@@ -1202,21 +1218,21 @@ case 105:
1202
1218
  goto st22;
1203
1219
  } else if ( (*p) > 90 ) {
1204
1220
  if ( 97 <= (*p) && (*p) <= 122 )
1205
- goto tr155;
1221
+ goto tr167;
1206
1222
  } else
1207
- goto tr155;
1208
- goto tr154;
1209
- tr155:
1223
+ goto tr167;
1224
+ goto tr166;
1225
+ tr167:
1210
1226
  #line 1 "wikitext_ragel.rl"
1211
1227
  {te = p+1;}
1212
- #line 288 "wikitext_ragel.rl"
1213
- {act = 21;}
1214
- goto st106;
1215
- st106:
1228
+ #line 303 "wikitext_ragel.rl"
1229
+ {act = 22;}
1230
+ goto st118;
1231
+ st118:
1216
1232
  if ( ++p == pe )
1217
- goto _test_eof106;
1218
- case 106:
1219
- #line 1220 "wikitext_ragel.c"
1233
+ goto _test_eof118;
1234
+ case 118:
1235
+ #line 1236 "wikitext_ragel.c"
1220
1236
  if ( (*p) == 46 )
1221
1237
  goto st23;
1222
1238
  if ( (*p) < 65 ) {
@@ -1224,21 +1240,21 @@ case 106:
1224
1240
  goto st22;
1225
1241
  } else if ( (*p) > 90 ) {
1226
1242
  if ( 97 <= (*p) && (*p) <= 122 )
1227
- goto tr156;
1243
+ goto tr168;
1228
1244
  } else
1229
- goto tr156;
1230
- goto tr154;
1231
- tr156:
1245
+ goto tr168;
1246
+ goto tr166;
1247
+ tr168:
1232
1248
  #line 1 "wikitext_ragel.rl"
1233
1249
  {te = p+1;}
1234
- #line 288 "wikitext_ragel.rl"
1235
- {act = 21;}
1236
- goto st107;
1237
- st107:
1250
+ #line 303 "wikitext_ragel.rl"
1251
+ {act = 22;}
1252
+ goto st119;
1253
+ st119:
1238
1254
  if ( ++p == pe )
1239
- goto _test_eof107;
1240
- case 107:
1241
- #line 1242 "wikitext_ragel.c"
1255
+ goto _test_eof119;
1256
+ case 119:
1257
+ #line 1258 "wikitext_ragel.c"
1242
1258
  if ( (*p) == 46 )
1243
1259
  goto st23;
1244
1260
  if ( (*p) < 65 ) {
@@ -1246,21 +1262,21 @@ case 107:
1246
1262
  goto st22;
1247
1263
  } else if ( (*p) > 90 ) {
1248
1264
  if ( 97 <= (*p) && (*p) <= 122 )
1249
- goto tr157;
1265
+ goto tr169;
1250
1266
  } else
1251
- goto tr157;
1252
- goto tr154;
1253
- tr157:
1267
+ goto tr169;
1268
+ goto tr166;
1269
+ tr169:
1254
1270
  #line 1 "wikitext_ragel.rl"
1255
1271
  {te = p+1;}
1256
- #line 288 "wikitext_ragel.rl"
1257
- {act = 21;}
1258
- goto st108;
1259
- st108:
1272
+ #line 303 "wikitext_ragel.rl"
1273
+ {act = 22;}
1274
+ goto st120;
1275
+ st120:
1260
1276
  if ( ++p == pe )
1261
- goto _test_eof108;
1262
- case 108:
1263
- #line 1264 "wikitext_ragel.c"
1277
+ goto _test_eof120;
1278
+ case 120:
1279
+ #line 1280 "wikitext_ragel.c"
1264
1280
  if ( (*p) == 46 )
1265
1281
  goto st23;
1266
1282
  if ( (*p) < 65 ) {
@@ -1271,58 +1287,58 @@ case 108:
1271
1287
  goto st22;
1272
1288
  } else
1273
1289
  goto st22;
1274
- goto tr154;
1275
- tr153:
1290
+ goto tr166;
1291
+ tr165:
1276
1292
  #line 1 "wikitext_ragel.rl"
1277
1293
  {te = p+1;}
1278
- #line 439 "wikitext_ragel.rl"
1279
- {act = 44;}
1280
- goto st109;
1281
- st109:
1294
+ #line 454 "wikitext_ragel.rl"
1295
+ {act = 45;}
1296
+ goto st121;
1297
+ st121:
1282
1298
  if ( ++p == pe )
1283
- goto _test_eof109;
1284
- case 109:
1285
- #line 1286 "wikitext_ragel.c"
1299
+ goto _test_eof121;
1300
+ case 121:
1301
+ #line 1302 "wikitext_ragel.c"
1286
1302
  switch( (*p) ) {
1287
- case 43: goto st98;
1288
- case 45: goto st98;
1289
- case 47: goto st98;
1290
- case 64: goto st98;
1291
- case 92: goto st98;
1292
- case 126: goto st98;
1303
+ case 43: goto st110;
1304
+ case 45: goto st110;
1305
+ case 47: goto st110;
1306
+ case 64: goto st110;
1307
+ case 92: goto st110;
1308
+ case 126: goto st110;
1293
1309
  }
1294
1310
  if ( (*p) < 65 ) {
1295
1311
  if ( (*p) > 37 ) {
1296
1312
  if ( 48 <= (*p) && (*p) <= 57 )
1297
1313
  goto st22;
1298
1314
  } else if ( (*p) >= 36 )
1299
- goto st98;
1315
+ goto st110;
1300
1316
  } else if ( (*p) > 90 ) {
1301
1317
  if ( (*p) > 95 ) {
1302
1318
  if ( 97 <= (*p) && (*p) <= 122 )
1303
1319
  goto st22;
1304
1320
  } else if ( (*p) >= 94 )
1305
- goto st98;
1321
+ goto st110;
1306
1322
  } else
1307
1323
  goto st22;
1308
- goto tr143;
1309
- tr122:
1324
+ goto tr155;
1325
+ tr134:
1310
1326
  #line 1 "wikitext_ragel.rl"
1311
1327
  {te = p+1;}
1312
- #line 421 "wikitext_ragel.rl"
1313
- {act = 42;}
1314
- goto st110;
1315
- st110:
1328
+ #line 436 "wikitext_ragel.rl"
1329
+ {act = 43;}
1330
+ goto st122;
1331
+ st122:
1316
1332
  if ( ++p == pe )
1317
- goto _test_eof110;
1318
- case 110:
1319
- #line 1320 "wikitext_ragel.c"
1333
+ goto _test_eof122;
1334
+ case 122:
1335
+ #line 1336 "wikitext_ragel.c"
1320
1336
  switch( (*p) ) {
1321
- case 33: goto st97;
1322
- case 44: goto st97;
1337
+ case 33: goto st109;
1338
+ case 44: goto st109;
1323
1339
  case 45: goto st20;
1324
- case 46: goto tr122;
1325
- case 63: goto st97;
1340
+ case 46: goto tr134;
1341
+ case 63: goto st109;
1326
1342
  case 64: goto st21;
1327
1343
  case 95: goto st20;
1328
1344
  }
@@ -1331,7 +1347,7 @@ case 110:
1331
1347
  if ( 48 <= (*p) && (*p) <= 57 )
1332
1348
  goto st20;
1333
1349
  } else if ( (*p) >= 40 )
1334
- goto st97;
1350
+ goto st109;
1335
1351
  } else if ( (*p) > 59 ) {
1336
1352
  if ( (*p) > 90 ) {
1337
1353
  if ( 97 <= (*p) && (*p) <= 122 )
@@ -1339,106 +1355,106 @@ case 110:
1339
1355
  } else if ( (*p) >= 65 )
1340
1356
  goto st20;
1341
1357
  } else
1342
- goto st97;
1343
- goto tr142;
1344
- st111:
1358
+ goto st109;
1359
+ goto tr154;
1360
+ st123:
1345
1361
  if ( ++p == pe )
1346
- goto _test_eof111;
1347
- case 111:
1362
+ goto _test_eof123;
1363
+ case 123:
1348
1364
  switch( (*p) ) {
1349
- case 43: goto st98;
1350
- case 45: goto st112;
1351
- case 47: goto st98;
1352
- case 64: goto st98;
1353
- case 92: goto st98;
1354
- case 94: goto st98;
1355
- case 95: goto st112;
1356
- case 126: goto st98;
1365
+ case 43: goto st110;
1366
+ case 45: goto st124;
1367
+ case 47: goto st110;
1368
+ case 64: goto st110;
1369
+ case 92: goto st110;
1370
+ case 94: goto st110;
1371
+ case 95: goto st124;
1372
+ case 126: goto st110;
1357
1373
  }
1358
1374
  if ( (*p) < 46 ) {
1359
1375
  if ( 36 <= (*p) && (*p) <= 37 )
1360
- goto st98;
1376
+ goto st110;
1361
1377
  } else if ( (*p) > 57 ) {
1362
1378
  if ( (*p) > 90 ) {
1363
1379
  if ( 97 <= (*p) && (*p) <= 122 )
1364
- goto st113;
1380
+ goto st125;
1365
1381
  } else if ( (*p) >= 65 )
1366
- goto st113;
1382
+ goto st125;
1367
1383
  } else
1368
- goto st113;
1369
- goto tr158;
1370
- st112:
1384
+ goto st125;
1385
+ goto tr170;
1386
+ st124:
1371
1387
  if ( ++p == pe )
1372
- goto _test_eof112;
1373
- case 112:
1374
- switch( (*p) ) {
1375
- case 43: goto st98;
1376
- case 45: goto st112;
1377
- case 47: goto st111;
1378
- case 64: goto st98;
1379
- case 92: goto st98;
1380
- case 94: goto st98;
1381
- case 95: goto st112;
1382
- case 126: goto st98;
1388
+ goto _test_eof124;
1389
+ case 124:
1390
+ switch( (*p) ) {
1391
+ case 43: goto st110;
1392
+ case 45: goto st124;
1393
+ case 47: goto st123;
1394
+ case 64: goto st110;
1395
+ case 92: goto st110;
1396
+ case 94: goto st110;
1397
+ case 95: goto st124;
1398
+ case 126: goto st110;
1383
1399
  }
1384
1400
  if ( (*p) < 46 ) {
1385
1401
  if ( 36 <= (*p) && (*p) <= 37 )
1386
- goto st98;
1402
+ goto st110;
1387
1403
  } else if ( (*p) > 57 ) {
1388
1404
  if ( (*p) > 90 ) {
1389
1405
  if ( 97 <= (*p) && (*p) <= 122 )
1390
- goto st113;
1406
+ goto st125;
1391
1407
  } else if ( (*p) >= 65 )
1392
- goto st113;
1408
+ goto st125;
1393
1409
  } else
1394
- goto st113;
1395
- goto tr158;
1396
- st113:
1410
+ goto st125;
1411
+ goto tr170;
1412
+ st125:
1397
1413
  if ( ++p == pe )
1398
- goto _test_eof113;
1399
- case 113:
1414
+ goto _test_eof125;
1415
+ case 125:
1400
1416
  switch( (*p) ) {
1401
- case 47: goto st114;
1402
- case 95: goto st113;
1417
+ case 47: goto st126;
1418
+ case 95: goto st125;
1403
1419
  }
1404
1420
  if ( (*p) < 65 ) {
1405
1421
  if ( 45 <= (*p) && (*p) <= 57 )
1406
- goto st113;
1422
+ goto st125;
1407
1423
  } else if ( (*p) > 90 ) {
1408
1424
  if ( 97 <= (*p) && (*p) <= 122 )
1409
- goto st113;
1425
+ goto st125;
1410
1426
  } else
1411
- goto st113;
1412
- goto tr158;
1413
- st114:
1427
+ goto st125;
1428
+ goto tr170;
1429
+ st126:
1414
1430
  if ( ++p == pe )
1415
- goto _test_eof114;
1416
- case 114:
1431
+ goto _test_eof126;
1432
+ case 126:
1417
1433
  if ( (*p) == 95 )
1418
- goto st113;
1434
+ goto st125;
1419
1435
  if ( (*p) < 48 ) {
1420
1436
  if ( 45 <= (*p) && (*p) <= 46 )
1421
- goto st113;
1437
+ goto st125;
1422
1438
  } else if ( (*p) > 57 ) {
1423
1439
  if ( (*p) > 90 ) {
1424
1440
  if ( 97 <= (*p) && (*p) <= 122 )
1425
- goto st113;
1441
+ goto st125;
1426
1442
  } else if ( (*p) >= 65 )
1427
- goto st113;
1443
+ goto st125;
1428
1444
  } else
1429
- goto st113;
1430
- goto tr158;
1431
- tr124:
1445
+ goto st125;
1446
+ goto tr170;
1447
+ tr136:
1432
1448
  #line 1 "wikitext_ragel.rl"
1433
1449
  {te = p+1;}
1434
- #line 427 "wikitext_ragel.rl"
1435
- {act = 43;}
1436
- goto st115;
1437
- st115:
1450
+ #line 442 "wikitext_ragel.rl"
1451
+ {act = 44;}
1452
+ goto st127;
1453
+ st127:
1438
1454
  if ( ++p == pe )
1439
- goto _test_eof115;
1440
- case 115:
1441
- #line 1442 "wikitext_ragel.c"
1455
+ goto _test_eof127;
1456
+ case 127:
1457
+ #line 1458 "wikitext_ragel.c"
1442
1458
  switch( (*p) ) {
1443
1459
  case 64: goto st21;
1444
1460
  case 95: goto st20;
@@ -1449,21 +1465,21 @@ case 115:
1449
1465
  } else if ( (*p) > 57 ) {
1450
1466
  if ( (*p) > 90 ) {
1451
1467
  if ( 97 <= (*p) && (*p) <= 122 )
1452
- goto tr124;
1468
+ goto tr136;
1453
1469
  } else if ( (*p) >= 65 )
1454
- goto tr124;
1470
+ goto tr136;
1455
1471
  } else
1456
- goto tr124;
1457
- goto tr162;
1458
- tr125:
1472
+ goto tr136;
1473
+ goto tr174;
1474
+ tr137:
1459
1475
  #line 1 "wikitext_ragel.rl"
1460
1476
  {te = p+1;}
1461
- goto st116;
1462
- st116:
1477
+ goto st128;
1478
+ st128:
1463
1479
  if ( ++p == pe )
1464
- goto _test_eof116;
1465
- case 116:
1466
- #line 1467 "wikitext_ragel.c"
1480
+ goto _test_eof128;
1481
+ case 128:
1482
+ #line 1483 "wikitext_ragel.c"
1467
1483
  switch( (*p) ) {
1468
1484
  case 47: goto st25;
1469
1485
  case 66: goto st55;
@@ -1475,11 +1491,11 @@ case 116:
1475
1491
  case 98: goto st55;
1476
1492
  case 101: goto st65;
1477
1493
  case 110: goto st67;
1478
- case 112: goto st73;
1494
+ case 112: goto st84;
1479
1495
  case 115: goto st76;
1480
1496
  case 116: goto st82;
1481
1497
  }
1482
- goto tr163;
1498
+ goto tr175;
1483
1499
  st25:
1484
1500
  if ( ++p == pe )
1485
1501
  goto _test_eof25;
@@ -1997,59 +2013,157 @@ case 83:
1997
2013
  if ( (*p) == 62 )
1998
2014
  goto tr94;
1999
2015
  goto tr30;
2000
- tr126:
2001
- #line 36 "wikitext_ragel.rl"
2016
+ st84:
2017
+ if ( ++p == pe )
2018
+ goto _test_eof84;
2019
+ case 84:
2020
+ switch( (*p) ) {
2021
+ case 82: goto st74;
2022
+ case 114: goto st85;
2023
+ }
2024
+ goto tr30;
2025
+ st85:
2026
+ if ( ++p == pe )
2027
+ goto _test_eof85;
2028
+ case 85:
2029
+ switch( (*p) ) {
2030
+ case 69: goto st75;
2031
+ case 101: goto st86;
2032
+ }
2033
+ goto tr30;
2034
+ st86:
2035
+ if ( ++p == pe )
2036
+ goto _test_eof86;
2037
+ case 86:
2038
+ switch( (*p) ) {
2039
+ case 32: goto st87;
2040
+ case 62: goto tr86;
2041
+ }
2042
+ goto tr30;
2043
+ st87:
2044
+ if ( ++p == pe )
2045
+ goto _test_eof87;
2046
+ case 87:
2047
+ if ( (*p) == 108 )
2048
+ goto st88;
2049
+ goto tr30;
2050
+ st88:
2051
+ if ( ++p == pe )
2052
+ goto _test_eof88;
2053
+ case 88:
2054
+ if ( (*p) == 97 )
2055
+ goto st89;
2056
+ goto tr30;
2057
+ st89:
2058
+ if ( ++p == pe )
2059
+ goto _test_eof89;
2060
+ case 89:
2061
+ if ( (*p) == 110 )
2062
+ goto st90;
2063
+ goto tr30;
2064
+ st90:
2065
+ if ( ++p == pe )
2066
+ goto _test_eof90;
2067
+ case 90:
2068
+ if ( (*p) == 103 )
2069
+ goto st91;
2070
+ goto tr30;
2071
+ st91:
2072
+ if ( ++p == pe )
2073
+ goto _test_eof91;
2074
+ case 91:
2075
+ if ( (*p) == 61 )
2076
+ goto st92;
2077
+ goto tr30;
2078
+ st92:
2079
+ if ( ++p == pe )
2080
+ goto _test_eof92;
2081
+ case 92:
2082
+ if ( (*p) == 34 )
2083
+ goto st93;
2084
+ goto tr30;
2085
+ st93:
2086
+ if ( ++p == pe )
2087
+ goto _test_eof93;
2088
+ case 93:
2089
+ if ( (*p) > 90 ) {
2090
+ if ( 97 <= (*p) && (*p) <= 122 )
2091
+ goto st94;
2092
+ } else if ( (*p) >= 65 )
2093
+ goto st94;
2094
+ goto tr30;
2095
+ st94:
2096
+ if ( ++p == pe )
2097
+ goto _test_eof94;
2098
+ case 94:
2099
+ if ( (*p) == 34 )
2100
+ goto st95;
2101
+ if ( (*p) > 90 ) {
2102
+ if ( 97 <= (*p) && (*p) <= 122 )
2103
+ goto st94;
2104
+ } else if ( (*p) >= 65 )
2105
+ goto st94;
2106
+ goto tr30;
2107
+ st95:
2108
+ if ( ++p == pe )
2109
+ goto _test_eof95;
2110
+ case 95:
2111
+ if ( (*p) == 62 )
2112
+ goto tr106;
2113
+ goto tr30;
2114
+ tr138:
2115
+ #line 45 "wikitext_ragel.rl"
2002
2116
  {
2003
2117
  MARK();
2004
2118
  }
2005
- goto st117;
2006
- st117:
2119
+ goto st129;
2120
+ st129:
2007
2121
  if ( ++p == pe )
2008
- goto _test_eof117;
2009
- case 117:
2010
- #line 2011 "wikitext_ragel.c"
2122
+ goto _test_eof129;
2123
+ case 129:
2124
+ #line 2125 "wikitext_ragel.c"
2011
2125
  switch( (*p) ) {
2012
- case 32: goto st118;
2013
- case 61: goto tr126;
2126
+ case 32: goto st130;
2127
+ case 61: goto tr138;
2014
2128
  }
2015
- goto tr171;
2016
- st118:
2129
+ goto tr184;
2130
+ st130:
2017
2131
  if ( ++p == pe )
2018
- goto _test_eof118;
2019
- case 118:
2132
+ goto _test_eof130;
2133
+ case 130:
2020
2134
  if ( (*p) == 32 )
2021
- goto st118;
2022
- goto tr171;
2023
- tr127:
2024
- #line 36 "wikitext_ragel.rl"
2135
+ goto st130;
2136
+ goto tr184;
2137
+ tr139:
2138
+ #line 45 "wikitext_ragel.rl"
2025
2139
  {
2026
2140
  MARK();
2027
2141
  }
2028
- goto st119;
2029
- st119:
2142
+ goto st131;
2143
+ st131:
2030
2144
  if ( ++p == pe )
2031
- goto _test_eof119;
2032
- case 119:
2033
- #line 2034 "wikitext_ragel.c"
2145
+ goto _test_eof131;
2146
+ case 131:
2147
+ #line 2148 "wikitext_ragel.c"
2034
2148
  if ( (*p) == 32 )
2035
- goto tr174;
2036
- goto tr173;
2037
- tr128:
2149
+ goto tr187;
2150
+ goto tr186;
2151
+ tr140:
2038
2152
  #line 1 "wikitext_ragel.rl"
2039
2153
  {te = p+1;}
2040
- #line 427 "wikitext_ragel.rl"
2041
- {act = 43;}
2042
- goto st120;
2043
- st120:
2154
+ #line 442 "wikitext_ragel.rl"
2155
+ {act = 44;}
2156
+ goto st132;
2157
+ st132:
2044
2158
  if ( ++p == pe )
2045
- goto _test_eof120;
2046
- case 120:
2047
- #line 2048 "wikitext_ragel.c"
2159
+ goto _test_eof132;
2160
+ case 132:
2161
+ #line 2162 "wikitext_ragel.c"
2048
2162
  switch( (*p) ) {
2049
2163
  case 64: goto st21;
2050
- case 84: goto tr175;
2164
+ case 84: goto tr188;
2051
2165
  case 95: goto st20;
2052
- case 116: goto tr175;
2166
+ case 116: goto tr188;
2053
2167
  }
2054
2168
  if ( (*p) < 48 ) {
2055
2169
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2057,28 +2171,28 @@ case 120:
2057
2171
  } else if ( (*p) > 57 ) {
2058
2172
  if ( (*p) > 90 ) {
2059
2173
  if ( 97 <= (*p) && (*p) <= 122 )
2060
- goto tr124;
2174
+ goto tr136;
2061
2175
  } else if ( (*p) >= 65 )
2062
- goto tr124;
2176
+ goto tr136;
2063
2177
  } else
2064
- goto tr124;
2065
- goto tr162;
2066
- tr175:
2178
+ goto tr136;
2179
+ goto tr174;
2180
+ tr188:
2067
2181
  #line 1 "wikitext_ragel.rl"
2068
2182
  {te = p+1;}
2069
- #line 427 "wikitext_ragel.rl"
2070
- {act = 43;}
2071
- goto st121;
2072
- st121:
2183
+ #line 442 "wikitext_ragel.rl"
2184
+ {act = 44;}
2185
+ goto st133;
2186
+ st133:
2073
2187
  if ( ++p == pe )
2074
- goto _test_eof121;
2075
- case 121:
2076
- #line 2077 "wikitext_ragel.c"
2188
+ goto _test_eof133;
2189
+ case 133:
2190
+ #line 2191 "wikitext_ragel.c"
2077
2191
  switch( (*p) ) {
2078
2192
  case 64: goto st21;
2079
- case 80: goto tr176;
2193
+ case 80: goto tr189;
2080
2194
  case 95: goto st20;
2081
- case 112: goto tr176;
2195
+ case 112: goto tr189;
2082
2196
  }
2083
2197
  if ( (*p) < 48 ) {
2084
2198
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2086,25 +2200,25 @@ case 121:
2086
2200
  } else if ( (*p) > 57 ) {
2087
2201
  if ( (*p) > 90 ) {
2088
2202
  if ( 97 <= (*p) && (*p) <= 122 )
2089
- goto tr124;
2203
+ goto tr136;
2090
2204
  } else if ( (*p) >= 65 )
2091
- goto tr124;
2205
+ goto tr136;
2092
2206
  } else
2093
- goto tr124;
2094
- goto tr162;
2095
- tr176:
2207
+ goto tr136;
2208
+ goto tr174;
2209
+ tr189:
2096
2210
  #line 1 "wikitext_ragel.rl"
2097
2211
  {te = p+1;}
2098
- #line 427 "wikitext_ragel.rl"
2099
- {act = 43;}
2100
- goto st122;
2101
- st122:
2212
+ #line 442 "wikitext_ragel.rl"
2213
+ {act = 44;}
2214
+ goto st134;
2215
+ st134:
2102
2216
  if ( ++p == pe )
2103
- goto _test_eof122;
2104
- case 122:
2105
- #line 2106 "wikitext_ragel.c"
2217
+ goto _test_eof134;
2218
+ case 134:
2219
+ #line 2220 "wikitext_ragel.c"
2106
2220
  switch( (*p) ) {
2107
- case 58: goto st84;
2221
+ case 58: goto st96;
2108
2222
  case 64: goto st21;
2109
2223
  case 95: goto st20;
2110
2224
  }
@@ -2114,124 +2228,124 @@ case 122:
2114
2228
  } else if ( (*p) > 57 ) {
2115
2229
  if ( (*p) > 90 ) {
2116
2230
  if ( 97 <= (*p) && (*p) <= 122 )
2117
- goto tr124;
2231
+ goto tr136;
2118
2232
  } else if ( (*p) >= 65 )
2119
- goto tr124;
2233
+ goto tr136;
2120
2234
  } else
2121
- goto tr124;
2122
- goto tr162;
2123
- st84:
2235
+ goto tr136;
2236
+ goto tr174;
2237
+ st96:
2124
2238
  if ( ++p == pe )
2125
- goto _test_eof84;
2126
- case 84:
2239
+ goto _test_eof96;
2240
+ case 96:
2127
2241
  if ( (*p) == 47 )
2128
- goto st85;
2129
- goto tr95;
2130
- st85:
2242
+ goto st97;
2243
+ goto tr107;
2244
+ st97:
2131
2245
  if ( ++p == pe )
2132
- goto _test_eof85;
2133
- case 85:
2246
+ goto _test_eof97;
2247
+ case 97:
2134
2248
  if ( (*p) == 47 )
2135
- goto st86;
2136
- goto tr95;
2137
- st86:
2249
+ goto st98;
2250
+ goto tr107;
2251
+ st98:
2138
2252
  if ( ++p == pe )
2139
- goto _test_eof86;
2140
- case 86:
2253
+ goto _test_eof98;
2254
+ case 98:
2141
2255
  switch( (*p) ) {
2142
- case 45: goto tr98;
2143
- case 61: goto tr98;
2144
- case 95: goto tr98;
2145
- case 126: goto tr98;
2256
+ case 45: goto tr110;
2257
+ case 61: goto tr110;
2258
+ case 95: goto tr110;
2259
+ case 126: goto tr110;
2146
2260
  }
2147
2261
  if ( (*p) < 47 ) {
2148
2262
  if ( (*p) > 40 ) {
2149
2263
  if ( 42 <= (*p) && (*p) <= 43 )
2150
- goto tr98;
2264
+ goto tr110;
2151
2265
  } else if ( (*p) >= 35 )
2152
- goto tr98;
2266
+ goto tr110;
2153
2267
  } else if ( (*p) > 57 ) {
2154
2268
  if ( (*p) > 90 ) {
2155
2269
  if ( 97 <= (*p) && (*p) <= 122 )
2156
- goto tr98;
2270
+ goto tr110;
2157
2271
  } else if ( (*p) >= 64 )
2158
- goto tr98;
2272
+ goto tr110;
2159
2273
  } else
2160
- goto tr98;
2161
- goto tr95;
2162
- tr98:
2274
+ goto tr110;
2275
+ goto tr107;
2276
+ tr110:
2163
2277
  #line 1 "wikitext_ragel.rl"
2164
2278
  {te = p+1;}
2165
- goto st123;
2166
- st123:
2279
+ goto st135;
2280
+ st135:
2167
2281
  if ( ++p == pe )
2168
- goto _test_eof123;
2169
- case 123:
2170
- #line 2171 "wikitext_ragel.c"
2282
+ goto _test_eof135;
2283
+ case 135:
2284
+ #line 2285 "wikitext_ragel.c"
2171
2285
  switch( (*p) ) {
2172
- case 33: goto st87;
2173
- case 41: goto st87;
2174
- case 44: goto st87;
2175
- case 46: goto st87;
2176
- case 61: goto tr98;
2177
- case 63: goto st87;
2178
- case 95: goto tr98;
2179
- case 126: goto tr98;
2286
+ case 33: goto st99;
2287
+ case 41: goto st99;
2288
+ case 44: goto st99;
2289
+ case 46: goto st99;
2290
+ case 61: goto tr110;
2291
+ case 63: goto st99;
2292
+ case 95: goto tr110;
2293
+ case 126: goto tr110;
2180
2294
  }
2181
2295
  if ( (*p) < 58 ) {
2182
2296
  if ( 35 <= (*p) && (*p) <= 57 )
2183
- goto tr98;
2297
+ goto tr110;
2184
2298
  } else if ( (*p) > 59 ) {
2185
2299
  if ( (*p) > 90 ) {
2186
2300
  if ( 97 <= (*p) && (*p) <= 122 )
2187
- goto tr98;
2301
+ goto tr110;
2188
2302
  } else if ( (*p) >= 64 )
2189
- goto tr98;
2303
+ goto tr110;
2190
2304
  } else
2191
- goto st87;
2192
- goto tr178;
2193
- st87:
2305
+ goto st99;
2306
+ goto tr191;
2307
+ st99:
2194
2308
  if ( ++p == pe )
2195
- goto _test_eof87;
2196
- case 87:
2309
+ goto _test_eof99;
2310
+ case 99:
2197
2311
  switch( (*p) ) {
2198
- case 33: goto st87;
2199
- case 41: goto st87;
2200
- case 44: goto st87;
2201
- case 46: goto st87;
2202
- case 61: goto tr98;
2203
- case 63: goto st87;
2204
- case 95: goto tr98;
2205
- case 126: goto tr98;
2312
+ case 33: goto st99;
2313
+ case 41: goto st99;
2314
+ case 44: goto st99;
2315
+ case 46: goto st99;
2316
+ case 61: goto tr110;
2317
+ case 63: goto st99;
2318
+ case 95: goto tr110;
2319
+ case 126: goto tr110;
2206
2320
  }
2207
2321
  if ( (*p) < 58 ) {
2208
2322
  if ( 35 <= (*p) && (*p) <= 57 )
2209
- goto tr98;
2323
+ goto tr110;
2210
2324
  } else if ( (*p) > 59 ) {
2211
2325
  if ( (*p) > 90 ) {
2212
2326
  if ( 97 <= (*p) && (*p) <= 122 )
2213
- goto tr98;
2327
+ goto tr110;
2214
2328
  } else if ( (*p) >= 64 )
2215
- goto tr98;
2329
+ goto tr110;
2216
2330
  } else
2217
- goto st87;
2218
- goto tr99;
2219
- tr129:
2331
+ goto st99;
2332
+ goto tr111;
2333
+ tr141:
2220
2334
  #line 1 "wikitext_ragel.rl"
2221
2335
  {te = p+1;}
2222
- #line 427 "wikitext_ragel.rl"
2223
- {act = 43;}
2224
- goto st124;
2225
- st124:
2336
+ #line 442 "wikitext_ragel.rl"
2337
+ {act = 44;}
2338
+ goto st136;
2339
+ st136:
2226
2340
  if ( ++p == pe )
2227
- goto _test_eof124;
2228
- case 124:
2229
- #line 2230 "wikitext_ragel.c"
2341
+ goto _test_eof136;
2342
+ case 136:
2343
+ #line 2344 "wikitext_ragel.c"
2230
2344
  switch( (*p) ) {
2231
2345
  case 64: goto st21;
2232
- case 84: goto tr179;
2346
+ case 84: goto tr192;
2233
2347
  case 95: goto st20;
2234
- case 116: goto tr179;
2348
+ case 116: goto tr192;
2235
2349
  }
2236
2350
  if ( (*p) < 48 ) {
2237
2351
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2239,28 +2353,28 @@ case 124:
2239
2353
  } else if ( (*p) > 57 ) {
2240
2354
  if ( (*p) > 90 ) {
2241
2355
  if ( 97 <= (*p) && (*p) <= 122 )
2242
- goto tr124;
2356
+ goto tr136;
2243
2357
  } else if ( (*p) >= 65 )
2244
- goto tr124;
2358
+ goto tr136;
2245
2359
  } else
2246
- goto tr124;
2247
- goto tr162;
2248
- tr179:
2360
+ goto tr136;
2361
+ goto tr174;
2362
+ tr192:
2249
2363
  #line 1 "wikitext_ragel.rl"
2250
2364
  {te = p+1;}
2251
- #line 427 "wikitext_ragel.rl"
2252
- {act = 43;}
2253
- goto st125;
2254
- st125:
2365
+ #line 442 "wikitext_ragel.rl"
2366
+ {act = 44;}
2367
+ goto st137;
2368
+ st137:
2255
2369
  if ( ++p == pe )
2256
- goto _test_eof125;
2257
- case 125:
2258
- #line 2259 "wikitext_ragel.c"
2370
+ goto _test_eof137;
2371
+ case 137:
2372
+ #line 2373 "wikitext_ragel.c"
2259
2373
  switch( (*p) ) {
2260
2374
  case 64: goto st21;
2261
- case 84: goto tr180;
2375
+ case 84: goto tr193;
2262
2376
  case 95: goto st20;
2263
- case 116: goto tr180;
2377
+ case 116: goto tr193;
2264
2378
  }
2265
2379
  if ( (*p) < 48 ) {
2266
2380
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2268,28 +2382,28 @@ case 125:
2268
2382
  } else if ( (*p) > 57 ) {
2269
2383
  if ( (*p) > 90 ) {
2270
2384
  if ( 97 <= (*p) && (*p) <= 122 )
2271
- goto tr124;
2385
+ goto tr136;
2272
2386
  } else if ( (*p) >= 65 )
2273
- goto tr124;
2387
+ goto tr136;
2274
2388
  } else
2275
- goto tr124;
2276
- goto tr162;
2277
- tr180:
2389
+ goto tr136;
2390
+ goto tr174;
2391
+ tr193:
2278
2392
  #line 1 "wikitext_ragel.rl"
2279
2393
  {te = p+1;}
2280
- #line 427 "wikitext_ragel.rl"
2281
- {act = 43;}
2282
- goto st126;
2283
- st126:
2394
+ #line 442 "wikitext_ragel.rl"
2395
+ {act = 44;}
2396
+ goto st138;
2397
+ st138:
2284
2398
  if ( ++p == pe )
2285
- goto _test_eof126;
2286
- case 126:
2287
- #line 2288 "wikitext_ragel.c"
2399
+ goto _test_eof138;
2400
+ case 138:
2401
+ #line 2402 "wikitext_ragel.c"
2288
2402
  switch( (*p) ) {
2289
2403
  case 64: goto st21;
2290
- case 80: goto tr181;
2404
+ case 80: goto tr194;
2291
2405
  case 95: goto st20;
2292
- case 112: goto tr181;
2406
+ case 112: goto tr194;
2293
2407
  }
2294
2408
  if ( (*p) < 48 ) {
2295
2409
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2297,29 +2411,29 @@ case 126:
2297
2411
  } else if ( (*p) > 57 ) {
2298
2412
  if ( (*p) > 90 ) {
2299
2413
  if ( 97 <= (*p) && (*p) <= 122 )
2300
- goto tr124;
2414
+ goto tr136;
2301
2415
  } else if ( (*p) >= 65 )
2302
- goto tr124;
2416
+ goto tr136;
2303
2417
  } else
2304
- goto tr124;
2305
- goto tr162;
2306
- tr181:
2418
+ goto tr136;
2419
+ goto tr174;
2420
+ tr194:
2307
2421
  #line 1 "wikitext_ragel.rl"
2308
2422
  {te = p+1;}
2309
- #line 427 "wikitext_ragel.rl"
2310
- {act = 43;}
2311
- goto st127;
2312
- st127:
2423
+ #line 442 "wikitext_ragel.rl"
2424
+ {act = 44;}
2425
+ goto st139;
2426
+ st139:
2313
2427
  if ( ++p == pe )
2314
- goto _test_eof127;
2315
- case 127:
2316
- #line 2317 "wikitext_ragel.c"
2428
+ goto _test_eof139;
2429
+ case 139:
2430
+ #line 2431 "wikitext_ragel.c"
2317
2431
  switch( (*p) ) {
2318
- case 58: goto st84;
2432
+ case 58: goto st96;
2319
2433
  case 64: goto st21;
2320
- case 83: goto tr176;
2434
+ case 83: goto tr189;
2321
2435
  case 95: goto st20;
2322
- case 115: goto tr176;
2436
+ case 115: goto tr189;
2323
2437
  }
2324
2438
  if ( (*p) < 48 ) {
2325
2439
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2327,28 +2441,28 @@ case 127:
2327
2441
  } else if ( (*p) > 57 ) {
2328
2442
  if ( (*p) > 90 ) {
2329
2443
  if ( 97 <= (*p) && (*p) <= 122 )
2330
- goto tr124;
2444
+ goto tr136;
2331
2445
  } else if ( (*p) >= 65 )
2332
- goto tr124;
2446
+ goto tr136;
2333
2447
  } else
2334
- goto tr124;
2335
- goto tr162;
2336
- tr130:
2448
+ goto tr136;
2449
+ goto tr174;
2450
+ tr142:
2337
2451
  #line 1 "wikitext_ragel.rl"
2338
2452
  {te = p+1;}
2339
- #line 427 "wikitext_ragel.rl"
2340
- {act = 43;}
2341
- goto st128;
2342
- st128:
2453
+ #line 442 "wikitext_ragel.rl"
2454
+ {act = 44;}
2455
+ goto st140;
2456
+ st140:
2343
2457
  if ( ++p == pe )
2344
- goto _test_eof128;
2345
- case 128:
2346
- #line 2347 "wikitext_ragel.c"
2458
+ goto _test_eof140;
2459
+ case 140:
2460
+ #line 2461 "wikitext_ragel.c"
2347
2461
  switch( (*p) ) {
2348
2462
  case 64: goto st21;
2349
- case 65: goto tr182;
2463
+ case 65: goto tr195;
2350
2464
  case 95: goto st20;
2351
- case 97: goto tr182;
2465
+ case 97: goto tr195;
2352
2466
  }
2353
2467
  if ( (*p) < 48 ) {
2354
2468
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2356,28 +2470,28 @@ case 128:
2356
2470
  } else if ( (*p) > 57 ) {
2357
2471
  if ( (*p) > 90 ) {
2358
2472
  if ( 98 <= (*p) && (*p) <= 122 )
2359
- goto tr124;
2473
+ goto tr136;
2360
2474
  } else if ( (*p) >= 66 )
2361
- goto tr124;
2475
+ goto tr136;
2362
2476
  } else
2363
- goto tr124;
2364
- goto tr162;
2365
- tr182:
2477
+ goto tr136;
2478
+ goto tr174;
2479
+ tr195:
2366
2480
  #line 1 "wikitext_ragel.rl"
2367
2481
  {te = p+1;}
2368
- #line 427 "wikitext_ragel.rl"
2369
- {act = 43;}
2370
- goto st129;
2371
- st129:
2482
+ #line 442 "wikitext_ragel.rl"
2483
+ {act = 44;}
2484
+ goto st141;
2485
+ st141:
2372
2486
  if ( ++p == pe )
2373
- goto _test_eof129;
2374
- case 129:
2375
- #line 2376 "wikitext_ragel.c"
2487
+ goto _test_eof141;
2488
+ case 141:
2489
+ #line 2490 "wikitext_ragel.c"
2376
2490
  switch( (*p) ) {
2377
2491
  case 64: goto st21;
2378
- case 73: goto tr183;
2492
+ case 73: goto tr196;
2379
2493
  case 95: goto st20;
2380
- case 105: goto tr183;
2494
+ case 105: goto tr196;
2381
2495
  }
2382
2496
  if ( (*p) < 48 ) {
2383
2497
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2385,28 +2499,28 @@ case 129:
2385
2499
  } else if ( (*p) > 57 ) {
2386
2500
  if ( (*p) > 90 ) {
2387
2501
  if ( 97 <= (*p) && (*p) <= 122 )
2388
- goto tr124;
2502
+ goto tr136;
2389
2503
  } else if ( (*p) >= 65 )
2390
- goto tr124;
2504
+ goto tr136;
2391
2505
  } else
2392
- goto tr124;
2393
- goto tr162;
2394
- tr183:
2506
+ goto tr136;
2507
+ goto tr174;
2508
+ tr196:
2395
2509
  #line 1 "wikitext_ragel.rl"
2396
2510
  {te = p+1;}
2397
- #line 427 "wikitext_ragel.rl"
2398
- {act = 43;}
2399
- goto st130;
2400
- st130:
2511
+ #line 442 "wikitext_ragel.rl"
2512
+ {act = 44;}
2513
+ goto st142;
2514
+ st142:
2401
2515
  if ( ++p == pe )
2402
- goto _test_eof130;
2403
- case 130:
2404
- #line 2405 "wikitext_ragel.c"
2516
+ goto _test_eof142;
2517
+ case 142:
2518
+ #line 2519 "wikitext_ragel.c"
2405
2519
  switch( (*p) ) {
2406
2520
  case 64: goto st21;
2407
- case 76: goto tr184;
2521
+ case 76: goto tr197;
2408
2522
  case 95: goto st20;
2409
- case 108: goto tr184;
2523
+ case 108: goto tr197;
2410
2524
  }
2411
2525
  if ( (*p) < 48 ) {
2412
2526
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2414,28 +2528,28 @@ case 130:
2414
2528
  } else if ( (*p) > 57 ) {
2415
2529
  if ( (*p) > 90 ) {
2416
2530
  if ( 97 <= (*p) && (*p) <= 122 )
2417
- goto tr124;
2531
+ goto tr136;
2418
2532
  } else if ( (*p) >= 65 )
2419
- goto tr124;
2533
+ goto tr136;
2420
2534
  } else
2421
- goto tr124;
2422
- goto tr162;
2423
- tr184:
2535
+ goto tr136;
2536
+ goto tr174;
2537
+ tr197:
2424
2538
  #line 1 "wikitext_ragel.rl"
2425
2539
  {te = p+1;}
2426
- #line 427 "wikitext_ragel.rl"
2427
- {act = 43;}
2428
- goto st131;
2429
- st131:
2540
+ #line 442 "wikitext_ragel.rl"
2541
+ {act = 44;}
2542
+ goto st143;
2543
+ st143:
2430
2544
  if ( ++p == pe )
2431
- goto _test_eof131;
2432
- case 131:
2433
- #line 2434 "wikitext_ragel.c"
2545
+ goto _test_eof143;
2546
+ case 143:
2547
+ #line 2548 "wikitext_ragel.c"
2434
2548
  switch( (*p) ) {
2435
2549
  case 64: goto st21;
2436
- case 84: goto tr185;
2550
+ case 84: goto tr198;
2437
2551
  case 95: goto st20;
2438
- case 116: goto tr185;
2552
+ case 116: goto tr198;
2439
2553
  }
2440
2554
  if ( (*p) < 48 ) {
2441
2555
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2443,28 +2557,28 @@ case 131:
2443
2557
  } else if ( (*p) > 57 ) {
2444
2558
  if ( (*p) > 90 ) {
2445
2559
  if ( 97 <= (*p) && (*p) <= 122 )
2446
- goto tr124;
2560
+ goto tr136;
2447
2561
  } else if ( (*p) >= 65 )
2448
- goto tr124;
2562
+ goto tr136;
2449
2563
  } else
2450
- goto tr124;
2451
- goto tr162;
2452
- tr185:
2564
+ goto tr136;
2565
+ goto tr174;
2566
+ tr198:
2453
2567
  #line 1 "wikitext_ragel.rl"
2454
2568
  {te = p+1;}
2455
- #line 427 "wikitext_ragel.rl"
2456
- {act = 43;}
2457
- goto st132;
2458
- st132:
2569
+ #line 442 "wikitext_ragel.rl"
2570
+ {act = 44;}
2571
+ goto st144;
2572
+ st144:
2459
2573
  if ( ++p == pe )
2460
- goto _test_eof132;
2461
- case 132:
2462
- #line 2463 "wikitext_ragel.c"
2574
+ goto _test_eof144;
2575
+ case 144:
2576
+ #line 2577 "wikitext_ragel.c"
2463
2577
  switch( (*p) ) {
2464
2578
  case 64: goto st21;
2465
- case 79: goto tr186;
2579
+ case 79: goto tr199;
2466
2580
  case 95: goto st20;
2467
- case 111: goto tr186;
2581
+ case 111: goto tr199;
2468
2582
  }
2469
2583
  if ( (*p) < 48 ) {
2470
2584
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2472,25 +2586,25 @@ case 132:
2472
2586
  } else if ( (*p) > 57 ) {
2473
2587
  if ( (*p) > 90 ) {
2474
2588
  if ( 97 <= (*p) && (*p) <= 122 )
2475
- goto tr124;
2589
+ goto tr136;
2476
2590
  } else if ( (*p) >= 65 )
2477
- goto tr124;
2591
+ goto tr136;
2478
2592
  } else
2479
- goto tr124;
2480
- goto tr162;
2481
- tr186:
2593
+ goto tr136;
2594
+ goto tr174;
2595
+ tr199:
2482
2596
  #line 1 "wikitext_ragel.rl"
2483
2597
  {te = p+1;}
2484
- #line 427 "wikitext_ragel.rl"
2485
- {act = 43;}
2486
- goto st133;
2487
- st133:
2598
+ #line 442 "wikitext_ragel.rl"
2599
+ {act = 44;}
2600
+ goto st145;
2601
+ st145:
2488
2602
  if ( ++p == pe )
2489
- goto _test_eof133;
2490
- case 133:
2491
- #line 2492 "wikitext_ragel.c"
2603
+ goto _test_eof145;
2604
+ case 145:
2605
+ #line 2606 "wikitext_ragel.c"
2492
2606
  switch( (*p) ) {
2493
- case 58: goto st88;
2607
+ case 58: goto st100;
2494
2608
  case 64: goto st21;
2495
2609
  case 95: goto st20;
2496
2610
  }
@@ -2500,210 +2614,210 @@ case 133:
2500
2614
  } else if ( (*p) > 57 ) {
2501
2615
  if ( (*p) > 90 ) {
2502
2616
  if ( 97 <= (*p) && (*p) <= 122 )
2503
- goto tr124;
2617
+ goto tr136;
2504
2618
  } else if ( (*p) >= 65 )
2505
- goto tr124;
2619
+ goto tr136;
2506
2620
  } else
2507
- goto tr124;
2508
- goto tr162;
2509
- st88:
2621
+ goto tr136;
2622
+ goto tr174;
2623
+ st100:
2510
2624
  if ( ++p == pe )
2511
- goto _test_eof88;
2512
- case 88:
2625
+ goto _test_eof100;
2626
+ case 100:
2513
2627
  if ( (*p) == 95 )
2514
- goto st89;
2628
+ goto st101;
2515
2629
  if ( (*p) < 48 ) {
2516
2630
  if ( 45 <= (*p) && (*p) <= 46 )
2517
- goto st89;
2631
+ goto st101;
2518
2632
  } else if ( (*p) > 57 ) {
2519
2633
  if ( (*p) > 90 ) {
2520
2634
  if ( 97 <= (*p) && (*p) <= 122 )
2521
- goto st89;
2635
+ goto st101;
2522
2636
  } else if ( (*p) >= 65 )
2523
- goto st89;
2637
+ goto st101;
2524
2638
  } else
2525
- goto st89;
2526
- goto tr95;
2527
- st89:
2639
+ goto st101;
2640
+ goto tr107;
2641
+ st101:
2528
2642
  if ( ++p == pe )
2529
- goto _test_eof89;
2530
- case 89:
2643
+ goto _test_eof101;
2644
+ case 101:
2531
2645
  switch( (*p) ) {
2532
- case 64: goto st90;
2533
- case 95: goto st89;
2646
+ case 64: goto st102;
2647
+ case 95: goto st101;
2534
2648
  }
2535
2649
  if ( (*p) < 48 ) {
2536
2650
  if ( 45 <= (*p) && (*p) <= 46 )
2537
- goto st89;
2651
+ goto st101;
2538
2652
  } else if ( (*p) > 57 ) {
2539
2653
  if ( (*p) > 90 ) {
2540
2654
  if ( 97 <= (*p) && (*p) <= 122 )
2541
- goto st89;
2655
+ goto st101;
2542
2656
  } else if ( (*p) >= 65 )
2543
- goto st89;
2657
+ goto st101;
2544
2658
  } else
2545
- goto st89;
2546
- goto tr95;
2547
- st90:
2659
+ goto st101;
2660
+ goto tr107;
2661
+ st102:
2548
2662
  if ( ++p == pe )
2549
- goto _test_eof90;
2550
- case 90:
2663
+ goto _test_eof102;
2664
+ case 102:
2551
2665
  if ( (*p) < 65 ) {
2552
2666
  if ( 48 <= (*p) && (*p) <= 57 )
2553
- goto st91;
2667
+ goto st103;
2554
2668
  } else if ( (*p) > 90 ) {
2555
2669
  if ( 97 <= (*p) && (*p) <= 122 )
2556
- goto st91;
2670
+ goto st103;
2557
2671
  } else
2558
- goto st91;
2559
- goto tr95;
2560
- st91:
2672
+ goto st103;
2673
+ goto tr107;
2674
+ st103:
2561
2675
  if ( ++p == pe )
2562
- goto _test_eof91;
2563
- case 91:
2676
+ goto _test_eof103;
2677
+ case 103:
2564
2678
  if ( (*p) == 46 )
2565
- goto st92;
2679
+ goto st104;
2566
2680
  if ( (*p) < 65 ) {
2567
2681
  if ( 48 <= (*p) && (*p) <= 57 )
2568
- goto st91;
2682
+ goto st103;
2569
2683
  } else if ( (*p) > 90 ) {
2570
2684
  if ( 97 <= (*p) && (*p) <= 122 )
2571
- goto st91;
2685
+ goto st103;
2572
2686
  } else
2573
- goto st91;
2687
+ goto st103;
2574
2688
  goto tr23;
2575
- st92:
2689
+ st104:
2576
2690
  if ( ++p == pe )
2577
- goto _test_eof92;
2578
- case 92:
2691
+ goto _test_eof104;
2692
+ case 104:
2579
2693
  if ( (*p) < 65 ) {
2580
2694
  if ( 48 <= (*p) && (*p) <= 57 )
2581
- goto st91;
2695
+ goto st103;
2582
2696
  } else if ( (*p) > 90 ) {
2583
2697
  if ( 97 <= (*p) && (*p) <= 122 )
2584
- goto st93;
2698
+ goto st105;
2585
2699
  } else
2586
- goto st93;
2700
+ goto st105;
2587
2701
  goto tr23;
2588
- st93:
2702
+ st105:
2589
2703
  if ( ++p == pe )
2590
- goto _test_eof93;
2591
- case 93:
2704
+ goto _test_eof105;
2705
+ case 105:
2592
2706
  if ( (*p) == 46 )
2593
- goto st92;
2707
+ goto st104;
2594
2708
  if ( (*p) < 65 ) {
2595
2709
  if ( 48 <= (*p) && (*p) <= 57 )
2596
- goto st91;
2710
+ goto st103;
2597
2711
  } else if ( (*p) > 90 ) {
2598
2712
  if ( 97 <= (*p) && (*p) <= 122 )
2599
- goto tr106;
2713
+ goto tr118;
2600
2714
  } else
2601
- goto tr106;
2715
+ goto tr118;
2602
2716
  goto tr23;
2603
- tr106:
2717
+ tr118:
2604
2718
  #line 1 "wikitext_ragel.rl"
2605
2719
  {te = p+1;}
2606
- #line 282 "wikitext_ragel.rl"
2607
- {act = 20;}
2608
- goto st134;
2609
- st134:
2720
+ #line 297 "wikitext_ragel.rl"
2721
+ {act = 21;}
2722
+ goto st146;
2723
+ st146:
2610
2724
  if ( ++p == pe )
2611
- goto _test_eof134;
2612
- case 134:
2613
- #line 2614 "wikitext_ragel.c"
2725
+ goto _test_eof146;
2726
+ case 146:
2727
+ #line 2728 "wikitext_ragel.c"
2614
2728
  if ( (*p) == 46 )
2615
- goto st92;
2729
+ goto st104;
2616
2730
  if ( (*p) < 65 ) {
2617
2731
  if ( 48 <= (*p) && (*p) <= 57 )
2618
- goto st91;
2732
+ goto st103;
2619
2733
  } else if ( (*p) > 90 ) {
2620
2734
  if ( 97 <= (*p) && (*p) <= 122 )
2621
- goto tr188;
2735
+ goto tr201;
2622
2736
  } else
2623
- goto tr188;
2624
- goto tr178;
2625
- tr188:
2737
+ goto tr201;
2738
+ goto tr191;
2739
+ tr201:
2626
2740
  #line 1 "wikitext_ragel.rl"
2627
2741
  {te = p+1;}
2628
- #line 282 "wikitext_ragel.rl"
2629
- {act = 20;}
2630
- goto st135;
2631
- st135:
2742
+ #line 297 "wikitext_ragel.rl"
2743
+ {act = 21;}
2744
+ goto st147;
2745
+ st147:
2632
2746
  if ( ++p == pe )
2633
- goto _test_eof135;
2634
- case 135:
2635
- #line 2636 "wikitext_ragel.c"
2747
+ goto _test_eof147;
2748
+ case 147:
2749
+ #line 2750 "wikitext_ragel.c"
2636
2750
  if ( (*p) == 46 )
2637
- goto st92;
2751
+ goto st104;
2638
2752
  if ( (*p) < 65 ) {
2639
2753
  if ( 48 <= (*p) && (*p) <= 57 )
2640
- goto st91;
2754
+ goto st103;
2641
2755
  } else if ( (*p) > 90 ) {
2642
2756
  if ( 97 <= (*p) && (*p) <= 122 )
2643
- goto tr189;
2757
+ goto tr202;
2644
2758
  } else
2645
- goto tr189;
2646
- goto tr178;
2647
- tr189:
2759
+ goto tr202;
2760
+ goto tr191;
2761
+ tr202:
2648
2762
  #line 1 "wikitext_ragel.rl"
2649
2763
  {te = p+1;}
2650
- #line 282 "wikitext_ragel.rl"
2651
- {act = 20;}
2652
- goto st136;
2653
- st136:
2764
+ #line 297 "wikitext_ragel.rl"
2765
+ {act = 21;}
2766
+ goto st148;
2767
+ st148:
2654
2768
  if ( ++p == pe )
2655
- goto _test_eof136;
2656
- case 136:
2657
- #line 2658 "wikitext_ragel.c"
2769
+ goto _test_eof148;
2770
+ case 148:
2771
+ #line 2772 "wikitext_ragel.c"
2658
2772
  if ( (*p) == 46 )
2659
- goto st92;
2773
+ goto st104;
2660
2774
  if ( (*p) < 65 ) {
2661
2775
  if ( 48 <= (*p) && (*p) <= 57 )
2662
- goto st91;
2776
+ goto st103;
2663
2777
  } else if ( (*p) > 90 ) {
2664
2778
  if ( 97 <= (*p) && (*p) <= 122 )
2665
- goto tr190;
2779
+ goto tr203;
2666
2780
  } else
2667
- goto tr190;
2668
- goto tr178;
2669
- tr190:
2781
+ goto tr203;
2782
+ goto tr191;
2783
+ tr203:
2670
2784
  #line 1 "wikitext_ragel.rl"
2671
2785
  {te = p+1;}
2672
- #line 282 "wikitext_ragel.rl"
2673
- {act = 20;}
2674
- goto st137;
2675
- st137:
2786
+ #line 297 "wikitext_ragel.rl"
2787
+ {act = 21;}
2788
+ goto st149;
2789
+ st149:
2676
2790
  if ( ++p == pe )
2677
- goto _test_eof137;
2678
- case 137:
2679
- #line 2680 "wikitext_ragel.c"
2791
+ goto _test_eof149;
2792
+ case 149:
2793
+ #line 2794 "wikitext_ragel.c"
2680
2794
  if ( (*p) == 46 )
2681
- goto st92;
2795
+ goto st104;
2682
2796
  if ( (*p) < 65 ) {
2683
2797
  if ( 48 <= (*p) && (*p) <= 57 )
2684
- goto st91;
2798
+ goto st103;
2685
2799
  } else if ( (*p) > 90 ) {
2686
2800
  if ( 97 <= (*p) && (*p) <= 122 )
2687
- goto st91;
2801
+ goto st103;
2688
2802
  } else
2689
- goto st91;
2690
- goto tr178;
2691
- tr131:
2803
+ goto st103;
2804
+ goto tr191;
2805
+ tr143:
2692
2806
  #line 1 "wikitext_ragel.rl"
2693
2807
  {te = p+1;}
2694
- #line 427 "wikitext_ragel.rl"
2695
- {act = 43;}
2696
- goto st138;
2697
- st138:
2808
+ #line 442 "wikitext_ragel.rl"
2809
+ {act = 44;}
2810
+ goto st150;
2811
+ st150:
2698
2812
  if ( ++p == pe )
2699
- goto _test_eof138;
2700
- case 138:
2701
- #line 2702 "wikitext_ragel.c"
2813
+ goto _test_eof150;
2814
+ case 150:
2815
+ #line 2816 "wikitext_ragel.c"
2702
2816
  switch( (*p) ) {
2703
2817
  case 64: goto st21;
2704
- case 86: goto tr191;
2818
+ case 86: goto tr204;
2705
2819
  case 95: goto st20;
2706
- case 118: goto tr191;
2820
+ case 118: goto tr204;
2707
2821
  }
2708
2822
  if ( (*p) < 48 ) {
2709
2823
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2711,28 +2825,28 @@ case 138:
2711
2825
  } else if ( (*p) > 57 ) {
2712
2826
  if ( (*p) > 90 ) {
2713
2827
  if ( 97 <= (*p) && (*p) <= 122 )
2714
- goto tr124;
2828
+ goto tr136;
2715
2829
  } else if ( (*p) >= 65 )
2716
- goto tr124;
2830
+ goto tr136;
2717
2831
  } else
2718
- goto tr124;
2719
- goto tr162;
2720
- tr191:
2832
+ goto tr136;
2833
+ goto tr174;
2834
+ tr204:
2721
2835
  #line 1 "wikitext_ragel.rl"
2722
2836
  {te = p+1;}
2723
- #line 427 "wikitext_ragel.rl"
2724
- {act = 43;}
2725
- goto st139;
2726
- st139:
2837
+ #line 442 "wikitext_ragel.rl"
2838
+ {act = 44;}
2839
+ goto st151;
2840
+ st151:
2727
2841
  if ( ++p == pe )
2728
- goto _test_eof139;
2729
- case 139:
2730
- #line 2731 "wikitext_ragel.c"
2842
+ goto _test_eof151;
2843
+ case 151:
2844
+ #line 2845 "wikitext_ragel.c"
2731
2845
  switch( (*p) ) {
2732
2846
  case 64: goto st21;
2733
- case 78: goto tr176;
2847
+ case 78: goto tr189;
2734
2848
  case 95: goto st20;
2735
- case 110: goto tr176;
2849
+ case 110: goto tr189;
2736
2850
  }
2737
2851
  if ( (*p) < 48 ) {
2738
2852
  if ( 45 <= (*p) && (*p) <= 46 )
@@ -2740,53 +2854,53 @@ case 139:
2740
2854
  } else if ( (*p) > 57 ) {
2741
2855
  if ( (*p) > 90 ) {
2742
2856
  if ( 97 <= (*p) && (*p) <= 122 )
2743
- goto tr124;
2857
+ goto tr136;
2744
2858
  } else if ( (*p) >= 65 )
2745
- goto tr124;
2859
+ goto tr136;
2746
2860
  } else
2747
- goto tr124;
2748
- goto tr162;
2749
- st140:
2861
+ goto tr136;
2862
+ goto tr174;
2863
+ st152:
2750
2864
  if ( ++p == pe )
2751
- goto _test_eof140;
2752
- case 140:
2865
+ goto _test_eof152;
2866
+ case 152:
2753
2867
  if ( (*p) == 91 )
2754
- goto tr193;
2755
- goto tr192;
2756
- st141:
2868
+ goto tr206;
2869
+ goto tr205;
2870
+ st153:
2757
2871
  if ( ++p == pe )
2758
- goto _test_eof141;
2759
- case 141:
2872
+ goto _test_eof153;
2873
+ case 153:
2760
2874
  if ( (*p) == 93 )
2761
- goto tr195;
2762
- goto tr194;
2763
- st142:
2875
+ goto tr208;
2876
+ goto tr207;
2877
+ st154:
2764
2878
  if ( ++p == pe )
2765
- goto _test_eof142;
2766
- case 142:
2879
+ goto _test_eof154;
2880
+ case 154:
2767
2881
  if ( (*p) == 123 )
2768
- goto tr197;
2769
- goto tr196;
2770
- st143:
2882
+ goto tr210;
2883
+ goto tr209;
2884
+ st155:
2771
2885
  if ( ++p == pe )
2772
- goto _test_eof143;
2773
- case 143:
2886
+ goto _test_eof155;
2887
+ case 155:
2774
2888
  if ( (*p) == 125 )
2775
- goto tr199;
2776
- goto tr198;
2889
+ goto tr212;
2890
+ goto tr211;
2777
2891
  }
2778
- _test_eof94: cs = 94; goto _test_eof;
2892
+ _test_eof106: cs = 106; goto _test_eof;
2779
2893
  _test_eof1: cs = 1; goto _test_eof;
2780
2894
  _test_eof2: cs = 2; goto _test_eof;
2781
2895
  _test_eof3: cs = 3; goto _test_eof;
2782
2896
  _test_eof4: cs = 4; goto _test_eof;
2783
2897
  _test_eof5: cs = 5; goto _test_eof;
2784
2898
  _test_eof6: cs = 6; goto _test_eof;
2785
- _test_eof95: cs = 95; goto _test_eof;
2786
- _test_eof96: cs = 96; goto _test_eof;
2787
- _test_eof97: cs = 97; goto _test_eof;
2788
- _test_eof98: cs = 98; goto _test_eof;
2789
- _test_eof99: cs = 99; goto _test_eof;
2899
+ _test_eof107: cs = 107; goto _test_eof;
2900
+ _test_eof108: cs = 108; goto _test_eof;
2901
+ _test_eof109: cs = 109; goto _test_eof;
2902
+ _test_eof110: cs = 110; goto _test_eof;
2903
+ _test_eof111: cs = 111; goto _test_eof;
2790
2904
  _test_eof7: cs = 7; goto _test_eof;
2791
2905
  _test_eof8: cs = 8; goto _test_eof;
2792
2906
  _test_eof9: cs = 9; goto _test_eof;
@@ -2800,28 +2914,28 @@ case 143:
2800
2914
  _test_eof17: cs = 17; goto _test_eof;
2801
2915
  _test_eof18: cs = 18; goto _test_eof;
2802
2916
  _test_eof19: cs = 19; goto _test_eof;
2803
- _test_eof100: cs = 100; goto _test_eof;
2804
- _test_eof101: cs = 101; goto _test_eof;
2805
- _test_eof102: cs = 102; goto _test_eof;
2806
- _test_eof103: cs = 103; goto _test_eof;
2807
- _test_eof104: cs = 104; goto _test_eof;
2808
- _test_eof20: cs = 20; goto _test_eof;
2809
- _test_eof21: cs = 21; goto _test_eof;
2810
- _test_eof22: cs = 22; goto _test_eof;
2811
- _test_eof23: cs = 23; goto _test_eof;
2812
- _test_eof24: cs = 24; goto _test_eof;
2813
- _test_eof105: cs = 105; goto _test_eof;
2814
- _test_eof106: cs = 106; goto _test_eof;
2815
- _test_eof107: cs = 107; goto _test_eof;
2816
- _test_eof108: cs = 108; goto _test_eof;
2817
- _test_eof109: cs = 109; goto _test_eof;
2818
- _test_eof110: cs = 110; goto _test_eof;
2819
- _test_eof111: cs = 111; goto _test_eof;
2820
2917
  _test_eof112: cs = 112; goto _test_eof;
2821
2918
  _test_eof113: cs = 113; goto _test_eof;
2822
2919
  _test_eof114: cs = 114; goto _test_eof;
2823
2920
  _test_eof115: cs = 115; goto _test_eof;
2824
2921
  _test_eof116: cs = 116; goto _test_eof;
2922
+ _test_eof20: cs = 20; goto _test_eof;
2923
+ _test_eof21: cs = 21; goto _test_eof;
2924
+ _test_eof22: cs = 22; goto _test_eof;
2925
+ _test_eof23: cs = 23; goto _test_eof;
2926
+ _test_eof24: cs = 24; goto _test_eof;
2927
+ _test_eof117: cs = 117; goto _test_eof;
2928
+ _test_eof118: cs = 118; goto _test_eof;
2929
+ _test_eof119: cs = 119; goto _test_eof;
2930
+ _test_eof120: cs = 120; goto _test_eof;
2931
+ _test_eof121: cs = 121; goto _test_eof;
2932
+ _test_eof122: cs = 122; goto _test_eof;
2933
+ _test_eof123: cs = 123; goto _test_eof;
2934
+ _test_eof124: cs = 124; goto _test_eof;
2935
+ _test_eof125: cs = 125; goto _test_eof;
2936
+ _test_eof126: cs = 126; goto _test_eof;
2937
+ _test_eof127: cs = 127; goto _test_eof;
2938
+ _test_eof128: cs = 128; goto _test_eof;
2825
2939
  _test_eof25: cs = 25; goto _test_eof;
2826
2940
  _test_eof26: cs = 26; goto _test_eof;
2827
2941
  _test_eof27: cs = 27; goto _test_eof;
@@ -2881,35 +2995,29 @@ case 143:
2881
2995
  _test_eof81: cs = 81; goto _test_eof;
2882
2996
  _test_eof82: cs = 82; goto _test_eof;
2883
2997
  _test_eof83: cs = 83; goto _test_eof;
2884
- _test_eof117: cs = 117; goto _test_eof;
2885
- _test_eof118: cs = 118; goto _test_eof;
2886
- _test_eof119: cs = 119; goto _test_eof;
2887
- _test_eof120: cs = 120; goto _test_eof;
2888
- _test_eof121: cs = 121; goto _test_eof;
2889
- _test_eof122: cs = 122; goto _test_eof;
2890
2998
  _test_eof84: cs = 84; goto _test_eof;
2891
2999
  _test_eof85: cs = 85; goto _test_eof;
2892
3000
  _test_eof86: cs = 86; goto _test_eof;
2893
- _test_eof123: cs = 123; goto _test_eof;
2894
3001
  _test_eof87: cs = 87; goto _test_eof;
2895
- _test_eof124: cs = 124; goto _test_eof;
2896
- _test_eof125: cs = 125; goto _test_eof;
2897
- _test_eof126: cs = 126; goto _test_eof;
2898
- _test_eof127: cs = 127; goto _test_eof;
2899
- _test_eof128: cs = 128; goto _test_eof;
2900
- _test_eof129: cs = 129; goto _test_eof;
2901
- _test_eof130: cs = 130; goto _test_eof;
2902
- _test_eof131: cs = 131; goto _test_eof;
2903
- _test_eof132: cs = 132; goto _test_eof;
2904
- _test_eof133: cs = 133; goto _test_eof;
2905
3002
  _test_eof88: cs = 88; goto _test_eof;
2906
3003
  _test_eof89: cs = 89; goto _test_eof;
2907
3004
  _test_eof90: cs = 90; goto _test_eof;
2908
3005
  _test_eof91: cs = 91; goto _test_eof;
2909
3006
  _test_eof92: cs = 92; goto _test_eof;
2910
3007
  _test_eof93: cs = 93; goto _test_eof;
3008
+ _test_eof94: cs = 94; goto _test_eof;
3009
+ _test_eof95: cs = 95; goto _test_eof;
3010
+ _test_eof129: cs = 129; goto _test_eof;
3011
+ _test_eof130: cs = 130; goto _test_eof;
3012
+ _test_eof131: cs = 131; goto _test_eof;
3013
+ _test_eof132: cs = 132; goto _test_eof;
3014
+ _test_eof133: cs = 133; goto _test_eof;
2911
3015
  _test_eof134: cs = 134; goto _test_eof;
3016
+ _test_eof96: cs = 96; goto _test_eof;
3017
+ _test_eof97: cs = 97; goto _test_eof;
3018
+ _test_eof98: cs = 98; goto _test_eof;
2912
3019
  _test_eof135: cs = 135; goto _test_eof;
3020
+ _test_eof99: cs = 99; goto _test_eof;
2913
3021
  _test_eof136: cs = 136; goto _test_eof;
2914
3022
  _test_eof137: cs = 137; goto _test_eof;
2915
3023
  _test_eof138: cs = 138; goto _test_eof;
@@ -2918,16 +3026,34 @@ case 143:
2918
3026
  _test_eof141: cs = 141; goto _test_eof;
2919
3027
  _test_eof142: cs = 142; goto _test_eof;
2920
3028
  _test_eof143: cs = 143; goto _test_eof;
3029
+ _test_eof144: cs = 144; goto _test_eof;
3030
+ _test_eof145: cs = 145; goto _test_eof;
3031
+ _test_eof100: cs = 100; goto _test_eof;
3032
+ _test_eof101: cs = 101; goto _test_eof;
3033
+ _test_eof102: cs = 102; goto _test_eof;
3034
+ _test_eof103: cs = 103; goto _test_eof;
3035
+ _test_eof104: cs = 104; goto _test_eof;
3036
+ _test_eof105: cs = 105; goto _test_eof;
3037
+ _test_eof146: cs = 146; goto _test_eof;
3038
+ _test_eof147: cs = 147; goto _test_eof;
3039
+ _test_eof148: cs = 148; goto _test_eof;
3040
+ _test_eof149: cs = 149; goto _test_eof;
3041
+ _test_eof150: cs = 150; goto _test_eof;
3042
+ _test_eof151: cs = 151; goto _test_eof;
3043
+ _test_eof152: cs = 152; goto _test_eof;
3044
+ _test_eof153: cs = 153; goto _test_eof;
3045
+ _test_eof154: cs = 154; goto _test_eof;
3046
+ _test_eof155: cs = 155; goto _test_eof;
2921
3047
 
2922
3048
  _test_eof: {}
2923
3049
  if ( p == eof )
2924
3050
  {
2925
3051
  switch ( cs ) {
2926
- case 95: goto tr138;
2927
- case 96: goto tr140;
2928
- case 97: goto tr142;
2929
- case 98: goto tr143;
2930
- case 99: goto tr144;
3052
+ case 107: goto tr150;
3053
+ case 108: goto tr152;
3054
+ case 109: goto tr154;
3055
+ case 110: goto tr155;
3056
+ case 111: goto tr156;
2931
3057
  case 7: goto tr7;
2932
3058
  case 8: goto tr7;
2933
3059
  case 9: goto tr7;
@@ -2941,28 +3067,28 @@ case 143:
2941
3067
  case 17: goto tr7;
2942
3068
  case 18: goto tr7;
2943
3069
  case 19: goto tr7;
2944
- case 100: goto tr148;
2945
- case 101: goto tr148;
2946
- case 102: goto tr148;
2947
- case 103: goto tr148;
2948
- case 104: goto tr143;
3070
+ case 112: goto tr160;
3071
+ case 113: goto tr160;
3072
+ case 114: goto tr160;
3073
+ case 115: goto tr160;
3074
+ case 116: goto tr155;
2949
3075
  case 20: goto tr23;
2950
3076
  case 21: goto tr23;
2951
3077
  case 22: goto tr23;
2952
3078
  case 23: goto tr23;
2953
3079
  case 24: goto tr23;
2954
- case 105: goto tr154;
2955
- case 106: goto tr154;
2956
- case 107: goto tr154;
2957
- case 108: goto tr154;
2958
- case 109: goto tr143;
2959
- case 110: goto tr142;
2960
- case 111: goto tr158;
2961
- case 112: goto tr158;
2962
- case 113: goto tr158;
2963
- case 114: goto tr158;
2964
- case 115: goto tr162;
2965
- case 116: goto tr163;
3080
+ case 117: goto tr166;
3081
+ case 118: goto tr166;
3082
+ case 119: goto tr166;
3083
+ case 120: goto tr166;
3084
+ case 121: goto tr155;
3085
+ case 122: goto tr154;
3086
+ case 123: goto tr170;
3087
+ case 124: goto tr170;
3088
+ case 125: goto tr170;
3089
+ case 126: goto tr170;
3090
+ case 127: goto tr174;
3091
+ case 128: goto tr175;
2966
3092
  case 25: goto tr30;
2967
3093
  case 26: goto tr30;
2968
3094
  case 27: goto tr30;
@@ -3022,50 +3148,62 @@ case 143:
3022
3148
  case 81: goto tr30;
3023
3149
  case 82: goto tr30;
3024
3150
  case 83: goto tr30;
3025
- case 117: goto tr171;
3026
- case 118: goto tr171;
3027
- case 119: goto tr173;
3028
- case 120: goto tr162;
3029
- case 121: goto tr162;
3030
- case 122: goto tr162;
3031
- case 84: goto tr95;
3032
- case 85: goto tr95;
3033
- case 86: goto tr95;
3034
- case 123: goto tr178;
3035
- case 87: goto tr99;
3036
- case 124: goto tr162;
3037
- case 125: goto tr162;
3038
- case 126: goto tr162;
3039
- case 127: goto tr162;
3040
- case 128: goto tr162;
3041
- case 129: goto tr162;
3042
- case 130: goto tr162;
3043
- case 131: goto tr162;
3044
- case 132: goto tr162;
3045
- case 133: goto tr162;
3046
- case 88: goto tr95;
3047
- case 89: goto tr95;
3048
- case 90: goto tr95;
3049
- case 91: goto tr23;
3050
- case 92: goto tr23;
3051
- case 93: goto tr23;
3052
- case 134: goto tr178;
3053
- case 135: goto tr178;
3054
- case 136: goto tr178;
3055
- case 137: goto tr178;
3056
- case 138: goto tr162;
3057
- case 139: goto tr162;
3058
- case 140: goto tr192;
3059
- case 141: goto tr194;
3060
- case 142: goto tr196;
3061
- case 143: goto tr198;
3151
+ case 84: goto tr30;
3152
+ case 85: goto tr30;
3153
+ case 86: goto tr30;
3154
+ case 87: goto tr30;
3155
+ case 88: goto tr30;
3156
+ case 89: goto tr30;
3157
+ case 90: goto tr30;
3158
+ case 91: goto tr30;
3159
+ case 92: goto tr30;
3160
+ case 93: goto tr30;
3161
+ case 94: goto tr30;
3162
+ case 95: goto tr30;
3163
+ case 129: goto tr184;
3164
+ case 130: goto tr184;
3165
+ case 131: goto tr186;
3166
+ case 132: goto tr174;
3167
+ case 133: goto tr174;
3168
+ case 134: goto tr174;
3169
+ case 96: goto tr107;
3170
+ case 97: goto tr107;
3171
+ case 98: goto tr107;
3172
+ case 135: goto tr191;
3173
+ case 99: goto tr111;
3174
+ case 136: goto tr174;
3175
+ case 137: goto tr174;
3176
+ case 138: goto tr174;
3177
+ case 139: goto tr174;
3178
+ case 140: goto tr174;
3179
+ case 141: goto tr174;
3180
+ case 142: goto tr174;
3181
+ case 143: goto tr174;
3182
+ case 144: goto tr174;
3183
+ case 145: goto tr174;
3184
+ case 100: goto tr107;
3185
+ case 101: goto tr107;
3186
+ case 102: goto tr107;
3187
+ case 103: goto tr23;
3188
+ case 104: goto tr23;
3189
+ case 105: goto tr23;
3190
+ case 146: goto tr191;
3191
+ case 147: goto tr191;
3192
+ case 148: goto tr191;
3193
+ case 149: goto tr191;
3194
+ case 150: goto tr174;
3195
+ case 151: goto tr174;
3196
+ case 152: goto tr205;
3197
+ case 153: goto tr207;
3198
+ case 154: goto tr209;
3199
+ case 155: goto tr211;
3062
3200
  }
3063
3201
  }
3064
3202
 
3065
3203
  _out: {}
3066
3204
  }
3067
3205
 
3068
- #line 511 "wikitext_ragel.rl"
3206
+ #line 526 "wikitext_ragel.rl"
3069
3207
  if (cs == wikitext_error)
3070
3208
  rb_raise(eWikitextParserError, "failed before finding a token");
3071
3209
  else if (out->type == NO_TOKEN)