1 #line 1 "wikitext_ragel.rl"
2 // Copyright 2008 Wincent Colaiuta
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //----------------------------------------------------------------------//
17 // NOTE: wikitext_ragel.c is generated from wikitext_ragel.rl, so //
18 // if you make changes to the former they will be overwritten. //
19 // You should perform all your edits in wikitext_ragel.rl. //
20 //----------------------------------------------------------------------//
22 #include "wikitext_ragel.h"
26 #define EMIT(t) do { out->type = t; out->stop = p + 1; out->column_stop += (out->stop - out->start); } while (0)
27 #define MARK() do { mark = p; } while (0)
28 #define REWIND() do { p = mark; } while (0)
29 #define AT_END() (p + 1 == pe)
30 #define DISTANCE() (p + 1 - ts)
31 #define NEXT_CHAR() (*(p + 1))
34 #line 35 "wikitext_ragel.c"
35 static const int wikitext_start = 54;
36 static const int wikitext_first_final = 54;
37 static const int wikitext_error = 0;
39 static const int wikitext_en_main = 54;
41 #line 386 "wikitext_ragel.rl"
44 // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
45 // ultimately we could look at embedding all of the transformation inside the scanner itself (combined scanner/parser)
46 // pass in the last token because that's useful for the scanner to know
47 // p data pointer (required by Ragel machine); overriden with contents of last_token if supplied
48 // pe data end pointer (required by Ragel machine)
49 void next_token(token_t *out, token_t *last_token, char *p, char *pe)
51 int last_token_type = NO_TOKEN;
54 last_token_type = last_token->type;
56 out->line_start = out->line_stop = last_token->line_stop;
57 out->column_start = out->column_stop = last_token->column_stop;
62 out->column_start = 1;
71 // all done, have reached end of input
73 out->type = END_OF_FILE;
77 char *mark; // for manual backtracking
78 char *eof = pe; // required for backtracking (longest match determination)
79 int cs; // current state (standard Ragel)
80 char *ts; // token start (scanner)
81 char *te; // token end (scanner)
82 int act; // identity of last patterned matched (scanner)
84 #line 85 "wikitext_ragel.c"
91 #line 428 "wikitext_ragel.rl"
93 #line 94 "wikitext_ragel.c"
100 #line 46 "wikitext_ragel.rl"
102 out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
105 #line 377 "wikitext_ragel.rl"
108 out->column_stop = out->column_start + 1;
109 {p++; cs = 54; goto _out;}
113 #line 52 "wikitext_ragel.rl"
115 out->code_point = ((uint32_t)(*(p - 2)) & 0x0f) << 12 |
116 ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
119 #line 377 "wikitext_ragel.rl"
122 out->column_stop = out->column_start + 1;
123 {p++; cs = 54; goto _out;}
127 #line 59 "wikitext_ragel.rl"
129 out->code_point = ((uint32_t)(*(p - 3)) & 0x07) << 18 |
130 ((uint32_t)(*(p - 2)) & 0x3f) << 12 |
131 ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
134 #line 377 "wikitext_ragel.rl"
137 out->column_stop = out->column_start + 1;
138 {p++; cs = 54; goto _out;}
142 #line 327 "wikitext_ragel.rl"
145 {p++; cs = 54; goto _out;}
149 #line 315 "wikitext_ragel.rl"
151 EMIT(DECIMAL_ENTITY);
152 {p++; cs = 54; goto _out;}
156 #line 309 "wikitext_ragel.rl"
159 {p++; cs = 54; goto _out;}
163 #line 303 "wikitext_ragel.rl"
166 {p++; cs = 54; goto _out;}
170 #line 297 "wikitext_ragel.rl"
173 {p++; cs = 54; goto _out;}
177 #line 291 "wikitext_ragel.rl"
180 {p++; cs = 54; goto _out;}
184 #line 333 "wikitext_ragel.rl"
187 {p++; cs = 54; goto _out;}
191 #line 128 "wikitext_ragel.rl"
194 {p++; cs = 54; goto _out;}
198 #line 86 "wikitext_ragel.rl"
201 {p++; cs = 54; goto _out;}
205 #line 116 "wikitext_ragel.rl"
208 {p++; cs = 54; goto _out;}
212 #line 146 "wikitext_ragel.rl"
215 {p++; cs = 54; goto _out;}
219 #line 122 "wikitext_ragel.rl"
222 {p++; cs = 54; goto _out;}
226 #line 80 "wikitext_ragel.rl"
229 {p++; cs = 54; goto _out;}
233 #line 110 "wikitext_ragel.rl"
236 {p++; cs = 54; goto _out;}
240 #line 140 "wikitext_ragel.rl"
243 {p++; cs = 54; goto _out;}
247 #line 249 "wikitext_ragel.rl"
250 {p++; cs = 54; goto _out;}
254 #line 41 "wikitext_ragel.rl"
256 out->code_point = *p & 0x7f;
258 #line 377 "wikitext_ragel.rl"
261 out->column_stop = out->column_start + 1;
262 {p++; cs = 54; goto _out;}
266 #line 345 "wikitext_ragel.rl"
269 out->column_stop = 1;
271 {p++; cs = 54; goto _out;}
273 #line 41 "wikitext_ragel.rl"
275 out->code_point = *p & 0x7f;
279 #line 321 "wikitext_ragel.rl"
282 {p++; cs = 54; goto _out;}
286 #line 179 "wikitext_ragel.rl"
288 if (out->column_start == 1 || last_token_type == OL || last_token_type == UL || last_token_type == BLOCKQUOTE)
292 {p++; cs = 54; goto _out;}
296 #line 188 "wikitext_ragel.rl"
298 if (out->column_start == 1 || last_token_type == OL || last_token_type == UL || last_token_type == BLOCKQUOTE)
302 {p++; cs = 54; goto _out;}
306 #line 134 "wikitext_ragel.rl"
309 {p++; cs = 54; goto _out;}
313 #line 273 "wikitext_ragel.rl"
316 {p++; cs = 54; goto _out;}
320 #line 345 "wikitext_ragel.rl"
323 out->column_stop = 1;
325 {p++; cs = 54; goto _out;}
329 #line 345 "wikitext_ragel.rl"
332 out->column_stop = 1;
334 {p++; cs = 54; goto _out;}
338 #line 167 "wikitext_ragel.rl"
340 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
347 {p++; cs = 54; goto _out;}
351 #line 357 "wikitext_ragel.rl"
354 {p++; cs = 54; goto _out;}
358 #line 327 "wikitext_ragel.rl"
361 {p++; cs = 54; goto _out;}
365 #line 92 "wikitext_ragel.rl"
369 else if (DISTANCE() == 4)
374 else if (DISTANCE() == 3)
376 else if (DISTANCE() == 2)
380 {p++; cs = 54; goto _out;}
384 #line 92 "wikitext_ragel.rl"
388 else if (DISTANCE() == 4)
393 else if (DISTANCE() == 3)
395 else if (DISTANCE() == 2)
399 {p++; cs = 54; goto _out;}
403 #line 1 "wikitext_ragel.rl"
408 {p++; cs = 54; goto _out;}
414 {p++; cs = 54; goto _out;}
420 {p++; cs = 54; goto _out;}
428 #line 255 "wikitext_ragel.rl"
431 {p++; cs = 54; goto _out;}
435 #line 333 "wikitext_ragel.rl"
438 {p++; cs = 54; goto _out;}
442 #line 197 "wikitext_ragel.rl"
444 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
449 else if (DISTANCE() == 2)
451 else if (DISTANCE() == 3)
453 else if (DISTANCE() == 4)
455 else if (DISTANCE() == 5)
457 else if (DISTANCE() == 6)
459 else if (DISTANCE() > 6)
465 else if (AT_END() || NEXT_CHAR() == '\n' || NEXT_CHAR() == '\r')
470 else if (DISTANCE() == 2)
472 else if (DISTANCE() == 3)
474 else if (DISTANCE() == 4)
476 else if (DISTANCE() == 5)
478 else if (DISTANCE() == 6)
480 else if (DISTANCE() > 6)
482 p -= 6; // will scan the H6 on the next scan
491 {p++; cs = 54; goto _out;}
495 #line 153 "wikitext_ragel.rl"
497 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
504 {p++; cs = 54; goto _out;}
508 #line 153 "wikitext_ragel.rl"
510 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
517 {p++; cs = 54; goto _out;}
521 #line 249 "wikitext_ragel.rl"
524 {p++; cs = 54; goto _out;}
528 #line 279 "wikitext_ragel.rl"
530 EMIT(EXT_LINK_START);
531 {p++; cs = 54; goto _out;}
535 #line 261 "wikitext_ragel.rl"
538 {p++; cs = 54; goto _out;}
542 #line 285 "wikitext_ragel.rl"
545 {p++; cs = 54; goto _out;}
549 #line 267 "wikitext_ragel.rl"
552 {p++; cs = 54; goto _out;}
556 #line 1 "wikitext_ragel.rl"
561 #line 1 "wikitext_ragel.rl"
563 #line 564 "wikitext_ragel.c"
589 case 115: goto st102;
595 if ( -62 <= (*p) && (*p) <= -33 )
597 } else if ( (*p) > -17 ) {
599 if ( 1 <= (*p) && (*p) <= 31 )
601 } else if ( (*p) >= -16 )
605 } else if ( (*p) > 44 ) {
607 if ( 45 <= (*p) && (*p) <= 57 )
609 } else if ( (*p) > 64 ) {
611 if ( 123 <= (*p) && (*p) <= 126 )
613 } else if ( (*p) >= 65 )
666 #line 41 "wikitext_ragel.rl"
668 out->code_point = *p & 0x7f;
675 #line 676 "wikitext_ragel.c"
680 #line 36 "wikitext_ragel.rl"
689 #line 690 "wikitext_ragel.c"
703 if ( 36 <= (*p) && (*p) <= 37 )
705 } else if ( (*p) > 41 ) {
706 if ( 43 <= (*p) && (*p) <= 59 )
710 } else if ( (*p) > 90 ) {
712 if ( 94 <= (*p) && (*p) <= 95 )
714 } else if ( (*p) > 123 ) {
715 if ( 125 <= (*p) && (*p) <= 126 )
723 #line 1 "wikitext_ragel.rl"
730 #line 731 "wikitext_ragel.c"
737 if ( 98 <= (*p) && (*p) <= 122 )
739 } else if ( (*p) >= 65 )
750 if ( 48 <= (*p) && (*p) <= 57 )
759 if ( 48 <= (*p) && (*p) <= 57 )
767 if ( 48 <= (*p) && (*p) <= 57 )
769 } else if ( (*p) > 70 ) {
770 if ( 97 <= (*p) && (*p) <= 102 )
782 if ( 48 <= (*p) && (*p) <= 57 )
784 } else if ( (*p) > 70 ) {
785 if ( 97 <= (*p) && (*p) <= 102 )
797 if ( 48 <= (*p) && (*p) <= 57 )
799 } else if ( (*p) > 90 ) {
800 if ( 97 <= (*p) && (*p) <= 122 )
811 if ( 48 <= (*p) && (*p) <= 57 )
823 if ( 48 <= (*p) && (*p) <= 57 )
825 } else if ( (*p) > 90 ) {
826 if ( 97 <= (*p) && (*p) <= 122 )
840 if ( 48 <= (*p) && (*p) <= 57 )
842 } else if ( (*p) > 90 ) {
843 if ( 97 <= (*p) && (*p) <= 122 )
855 if ( 48 <= (*p) && (*p) <= 57 )
857 } else if ( (*p) > 90 ) {
858 if ( 97 <= (*p) && (*p) <= 122 )
872 if ( 48 <= (*p) && (*p) <= 57 )
874 } else if ( (*p) > 90 ) {
875 if ( 97 <= (*p) && (*p) <= 122 )
889 if ( 48 <= (*p) && (*p) <= 57 )
891 } else if ( (*p) > 90 ) {
892 if ( 97 <= (*p) && (*p) <= 122 )
906 if ( 48 <= (*p) && (*p) <= 57 )
908 } else if ( (*p) > 90 ) {
909 if ( 97 <= (*p) && (*p) <= 122 )
921 if ( 48 <= (*p) && (*p) <= 57 )
923 } else if ( (*p) > 90 ) {
924 if ( 97 <= (*p) && (*p) <= 122 )
973 if ( 36 <= (*p) && (*p) <= 37 )
975 } else if ( (*p) > 41 ) {
976 if ( 43 <= (*p) && (*p) <= 44 )
980 } else if ( (*p) > 57 ) {
982 if ( 58 <= (*p) && (*p) <= 59 )
984 } else if ( (*p) > 90 ) {
986 if ( 125 <= (*p) && (*p) <= 126 )
988 } else if ( (*p) >= 97 )
1002 case 123: goto st57;
1006 if ( 36 <= (*p) && (*p) <= 37 )
1008 } else if ( (*p) > 41 ) {
1010 if ( 48 <= (*p) && (*p) <= 57 )
1012 } else if ( (*p) >= 43 )
1016 } else if ( (*p) > 59 ) {
1019 if ( 65 <= (*p) && (*p) <= 90 )
1021 } else if ( (*p) >= 63 )
1023 } else if ( (*p) > 95 ) {
1025 if ( 125 <= (*p) && (*p) <= 126 )
1027 } else if ( (*p) >= 97 )
1035 #line 1 "wikitext_ragel.rl"
1037 #line 357 "wikitext_ragel.rl"
1041 #line 1 "wikitext_ragel.rl"
1043 #line 255 "wikitext_ragel.rl"
1050 #line 1051 "wikitext_ragel.c"
1055 case 123: goto st57;
1059 if ( 36 <= (*p) && (*p) <= 37 )
1061 } else if ( (*p) > 41 ) {
1063 if ( 48 <= (*p) && (*p) <= 57 )
1065 } else if ( (*p) >= 43 )
1069 } else if ( (*p) > 59 ) {
1072 if ( 65 <= (*p) && (*p) <= 90 )
1074 } else if ( (*p) >= 63 )
1076 } else if ( (*p) > 95 ) {
1078 if ( 125 <= (*p) && (*p) <= 126 )
1080 } else if ( (*p) >= 97 )
1094 case 123: goto st57;
1098 if ( 36 <= (*p) && (*p) <= 37 )
1100 } else if ( (*p) > 41 ) {
1102 if ( 48 <= (*p) && (*p) <= 57 )
1104 } else if ( (*p) >= 43 )
1108 } else if ( (*p) > 59 ) {
1111 if ( 65 <= (*p) && (*p) <= 90 )
1113 } else if ( (*p) >= 63 )
1115 } else if ( (*p) > 95 ) {
1117 if ( 125 <= (*p) && (*p) <= 126 )
1119 } else if ( (*p) >= 97 )
1134 case 123: goto st57;
1138 if ( 36 <= (*p) && (*p) <= 37 )
1140 } else if ( (*p) > 41 ) {
1142 if ( 48 <= (*p) && (*p) <= 57 )
1144 } else if ( (*p) >= 43 )
1148 } else if ( (*p) > 59 ) {
1151 if ( 65 <= (*p) && (*p) <= 90 )
1153 } else if ( (*p) >= 63 )
1155 } else if ( (*p) > 95 ) {
1157 if ( 125 <= (*p) && (*p) <= 126 )
1159 } else if ( (*p) >= 97 )
1174 case 123: goto st57;
1178 if ( 36 <= (*p) && (*p) <= 37 )
1180 } else if ( (*p) > 41 ) {
1182 if ( 48 <= (*p) && (*p) <= 57 )
1184 } else if ( (*p) >= 43 )
1188 } else if ( (*p) > 59 ) {
1191 if ( 65 <= (*p) && (*p) <= 90 )
1193 } else if ( (*p) >= 63 )
1195 } else if ( (*p) > 95 ) {
1197 if ( 125 <= (*p) && (*p) <= 126 )
1199 } else if ( (*p) >= 97 )
1214 case 123: goto st57;
1218 if ( 36 <= (*p) && (*p) <= 37 )
1220 } else if ( (*p) > 41 ) {
1222 if ( 48 <= (*p) && (*p) <= 57 )
1224 } else if ( (*p) >= 43 )
1228 } else if ( (*p) > 59 ) {
1231 if ( 65 <= (*p) && (*p) <= 90 )
1233 } else if ( (*p) >= 63 )
1235 } else if ( (*p) > 95 ) {
1237 if ( 125 <= (*p) && (*p) <= 126 )
1239 } else if ( (*p) >= 97 )
1254 case 123: goto st57;
1258 if ( 36 <= (*p) && (*p) <= 37 )
1260 } else if ( (*p) > 41 ) {
1262 if ( 48 <= (*p) && (*p) <= 57 )
1264 } else if ( (*p) >= 43 )
1268 } else if ( (*p) > 59 ) {
1271 if ( 65 <= (*p) && (*p) <= 90 )
1273 } else if ( (*p) >= 63 )
1275 } else if ( (*p) > 95 ) {
1277 if ( 125 <= (*p) && (*p) <= 126 )
1279 } else if ( (*p) >= 97 )
1287 #line 1 "wikitext_ragel.rl"
1294 #line 1295 "wikitext_ragel.c"
1301 case 101: goto st37;
1302 case 110: goto st39;
1303 case 115: goto st45;
1304 case 116: goto st51;
1316 case 101: goto st21;
1317 case 110: goto st23;
1318 case 115: goto st29;
1319 case 116: goto st35;
1328 case 109: goto st22;
1344 case 111: goto st24;
1353 case 119: goto st25;
1362 case 105: goto st26;
1371 case 107: goto st27;
1380 case 105: goto st28;
1396 case 116: goto st30;
1405 case 114: goto st31;
1414 case 111: goto st32;
1423 case 110: goto st33;
1432 case 103: goto st34;
1448 case 116: goto st36;
1464 case 109: goto st38;
1480 case 111: goto st40;
1489 case 119: goto st41;
1498 case 105: goto st42;
1507 case 107: goto st43;
1516 case 105: goto st44;
1532 case 116: goto st46;
1541 case 114: goto st47;
1550 case 111: goto st48;
1559 case 110: goto st49;
1568 case 103: goto st50;
1584 case 116: goto st52;
1595 #line 36 "wikitext_ragel.rl"
1604 #line 1605 "wikitext_ragel.c"
1618 #line 36 "wikitext_ragel.rl"
1627 #line 1628 "wikitext_ragel.c"
1644 case 116: goto st76;
1645 case 123: goto st57;
1649 if ( 36 <= (*p) && (*p) <= 37 )
1651 } else if ( (*p) > 41 ) {
1652 if ( 43 <= (*p) && (*p) <= 44 )
1656 } else if ( (*p) > 57 ) {
1658 if ( 58 <= (*p) && (*p) <= 59 )
1660 } else if ( (*p) > 90 ) {
1662 if ( 125 <= (*p) && (*p) <= 126 )
1664 } else if ( (*p) >= 97 )
1684 case 112: goto st77;
1685 case 123: goto st57;
1689 if ( 36 <= (*p) && (*p) <= 37 )
1691 } else if ( (*p) > 41 ) {
1692 if ( 43 <= (*p) && (*p) <= 44 )
1696 } else if ( (*p) > 57 ) {
1698 if ( 58 <= (*p) && (*p) <= 59 )
1700 } else if ( (*p) > 90 ) {
1702 if ( 125 <= (*p) && (*p) <= 126 )
1704 } else if ( (*p) >= 97 )
1725 case 123: goto st57;
1729 if ( 36 <= (*p) && (*p) <= 37 )
1731 } else if ( (*p) > 41 ) {
1732 if ( 43 <= (*p) && (*p) <= 44 )
1736 } else if ( (*p) > 57 ) {
1738 if ( 65 <= (*p) && (*p) <= 90 )
1740 } else if ( (*p) > 122 ) {
1741 if ( 125 <= (*p) && (*p) <= 126 )
1759 if ( 36 <= (*p) && (*p) <= 37 )
1761 } else if ( (*p) > 41 ) {
1762 if ( 43 <= (*p) && (*p) <= 59 )
1766 } else if ( (*p) > 90 ) {
1768 if ( 94 <= (*p) && (*p) <= 95 )
1770 } else if ( (*p) > 123 ) {
1771 if ( 125 <= (*p) && (*p) <= 126 )
1789 if ( 36 <= (*p) && (*p) <= 37 )
1791 } else if ( (*p) > 41 ) {
1792 if ( 43 <= (*p) && (*p) <= 59 )
1796 } else if ( (*p) > 90 ) {
1798 if ( 94 <= (*p) && (*p) <= 95 )
1800 } else if ( (*p) > 123 ) {
1801 if ( 125 <= (*p) && (*p) <= 126 )
1815 case 40: goto tr127;
1823 case 95: goto tr127;
1824 case 123: goto st57;
1825 case 125: goto st57;
1826 case 126: goto tr127;
1830 if ( 38 <= (*p) && (*p) <= 42 )
1832 } else if ( (*p) >= 36 )
1834 } else if ( (*p) > 57 ) {
1836 if ( 58 <= (*p) && (*p) <= 59 )
1838 } else if ( (*p) > 90 ) {
1839 if ( 97 <= (*p) && (*p) <= 122 )
1847 #line 1 "wikitext_ragel.rl"
1854 #line 1855 "wikitext_ragel.c"
1863 case 126: goto tr62;
1866 if ( 35 <= (*p) && (*p) <= 57 )
1868 } else if ( (*p) > 59 ) {
1870 if ( 97 <= (*p) && (*p) <= 122 )
1872 } else if ( (*p) >= 64 )
1889 case 126: goto tr62;
1892 if ( 35 <= (*p) && (*p) <= 57 )
1894 } else if ( (*p) > 59 ) {
1896 if ( 97 <= (*p) && (*p) <= 122 )
1898 } else if ( (*p) >= 64 )
1904 #line 1 "wikitext_ragel.rl"
1906 #line 357 "wikitext_ragel.rl"
1910 #line 1 "wikitext_ragel.rl"
1912 #line 249 "wikitext_ragel.rl"
1919 #line 1920 "wikitext_ragel.c"
1921 case 33: goto tr129;
1923 case 40: goto tr127;
1924 case 41: goto tr129;
1925 case 44: goto tr129;
1926 case 46: goto tr129;
1928 case 63: goto tr129;
1931 case 95: goto tr127;
1932 case 123: goto st57;
1933 case 125: goto st57;
1934 case 126: goto tr127;
1938 if ( 38 <= (*p) && (*p) <= 42 )
1940 } else if ( (*p) >= 36 )
1942 } else if ( (*p) > 57 ) {
1944 if ( 58 <= (*p) && (*p) <= 59 )
1946 } else if ( (*p) > 90 ) {
1947 if ( 97 <= (*p) && (*p) <= 122 )
1967 case 116: goto st84;
1968 case 123: goto st57;
1972 if ( 36 <= (*p) && (*p) <= 37 )
1974 } else if ( (*p) > 41 ) {
1975 if ( 43 <= (*p) && (*p) <= 44 )
1979 } else if ( (*p) > 57 ) {
1981 if ( 58 <= (*p) && (*p) <= 59 )
1983 } else if ( (*p) > 90 ) {
1985 if ( 125 <= (*p) && (*p) <= 126 )
1987 } else if ( (*p) >= 97 )
2007 case 116: goto st85;
2008 case 123: goto st57;
2012 if ( 36 <= (*p) && (*p) <= 37 )
2014 } else if ( (*p) > 41 ) {
2015 if ( 43 <= (*p) && (*p) <= 44 )
2019 } else if ( (*p) > 57 ) {
2021 if ( 58 <= (*p) && (*p) <= 59 )
2023 } else if ( (*p) > 90 ) {
2025 if ( 125 <= (*p) && (*p) <= 126 )
2027 } else if ( (*p) >= 97 )
2047 case 112: goto st86;
2048 case 123: goto st57;
2052 if ( 36 <= (*p) && (*p) <= 37 )
2054 } else if ( (*p) > 41 ) {
2055 if ( 43 <= (*p) && (*p) <= 44 )
2059 } else if ( (*p) > 57 ) {
2061 if ( 58 <= (*p) && (*p) <= 59 )
2063 } else if ( (*p) > 90 ) {
2065 if ( 125 <= (*p) && (*p) <= 126 )
2067 } else if ( (*p) >= 97 )
2089 case 115: goto st77;
2090 case 123: goto st57;
2094 if ( 36 <= (*p) && (*p) <= 37 )
2096 } else if ( (*p) > 41 ) {
2097 if ( 43 <= (*p) && (*p) <= 44 )
2101 } else if ( (*p) > 57 ) {
2103 if ( 65 <= (*p) && (*p) <= 90 )
2105 } else if ( (*p) > 122 ) {
2106 if ( 125 <= (*p) && (*p) <= 126 )
2127 case 123: goto st57;
2131 if ( 36 <= (*p) && (*p) <= 37 )
2133 } else if ( (*p) > 41 ) {
2134 if ( 43 <= (*p) && (*p) <= 44 )
2138 } else if ( (*p) > 57 ) {
2140 if ( 58 <= (*p) && (*p) <= 59 )
2142 } else if ( (*p) > 90 ) {
2144 if ( 125 <= (*p) && (*p) <= 126 )
2146 } else if ( (*p) >= 98 )
2166 case 105: goto st89;
2167 case 123: goto st57;
2171 if ( 36 <= (*p) && (*p) <= 37 )
2173 } else if ( (*p) > 41 ) {
2174 if ( 43 <= (*p) && (*p) <= 44 )
2178 } else if ( (*p) > 57 ) {
2180 if ( 58 <= (*p) && (*p) <= 59 )
2182 } else if ( (*p) > 90 ) {
2184 if ( 125 <= (*p) && (*p) <= 126 )
2186 } else if ( (*p) >= 97 )
2206 case 108: goto st90;
2207 case 123: goto st57;
2211 if ( 36 <= (*p) && (*p) <= 37 )
2213 } else if ( (*p) > 41 ) {
2214 if ( 43 <= (*p) && (*p) <= 44 )
2218 } else if ( (*p) > 57 ) {
2220 if ( 58 <= (*p) && (*p) <= 59 )
2222 } else if ( (*p) > 90 ) {
2224 if ( 125 <= (*p) && (*p) <= 126 )
2226 } else if ( (*p) >= 97 )
2246 case 116: goto st91;
2247 case 123: goto st57;
2251 if ( 36 <= (*p) && (*p) <= 37 )
2253 } else if ( (*p) > 41 ) {
2254 if ( 43 <= (*p) && (*p) <= 44 )
2258 } else if ( (*p) > 57 ) {
2260 if ( 58 <= (*p) && (*p) <= 59 )
2262 } else if ( (*p) > 90 ) {
2264 if ( 125 <= (*p) && (*p) <= 126 )
2266 } else if ( (*p) >= 97 )
2286 case 111: goto st92;
2287 case 123: goto st57;
2291 if ( 36 <= (*p) && (*p) <= 37 )
2293 } else if ( (*p) > 41 ) {
2294 if ( 43 <= (*p) && (*p) <= 44 )
2298 } else if ( (*p) > 57 ) {
2300 if ( 58 <= (*p) && (*p) <= 59 )
2302 } else if ( (*p) > 90 ) {
2304 if ( 125 <= (*p) && (*p) <= 126 )
2306 } else if ( (*p) >= 97 )
2327 case 123: goto st57;
2331 if ( 36 <= (*p) && (*p) <= 37 )
2333 } else if ( (*p) > 41 ) {
2334 if ( 43 <= (*p) && (*p) <= 44 )
2338 } else if ( (*p) > 57 ) {
2340 if ( 65 <= (*p) && (*p) <= 90 )
2342 } else if ( (*p) > 122 ) {
2343 if ( 125 <= (*p) && (*p) <= 126 )
2360 case 123: goto st57;
2364 if ( 36 <= (*p) && (*p) <= 37 )
2366 } else if ( (*p) > 41 ) {
2368 if ( 45 <= (*p) && (*p) <= 57 )
2370 } else if ( (*p) >= 43 )
2374 } else if ( (*p) > 59 ) {
2376 if ( 63 <= (*p) && (*p) <= 64 )
2378 } else if ( (*p) > 90 ) {
2380 if ( 125 <= (*p) && (*p) <= 126 )
2382 } else if ( (*p) >= 97 )
2401 case 123: goto st57;
2405 if ( 36 <= (*p) && (*p) <= 37 )
2407 } else if ( (*p) > 41 ) {
2408 if ( 43 <= (*p) && (*p) <= 44 )
2412 } else if ( (*p) > 57 ) {
2414 if ( 58 <= (*p) && (*p) <= 59 )
2416 } else if ( (*p) > 90 ) {
2418 if ( 125 <= (*p) && (*p) <= 126 )
2420 } else if ( (*p) >= 97 )
2434 case 123: goto st57;
2438 if ( 36 <= (*p) && (*p) <= 37 )
2440 } else if ( (*p) > 41 ) {
2442 if ( 48 <= (*p) && (*p) <= 57 )
2444 } else if ( (*p) >= 43 )
2448 } else if ( (*p) > 59 ) {
2451 if ( 65 <= (*p) && (*p) <= 90 )
2453 } else if ( (*p) >= 63 )
2455 } else if ( (*p) > 95 ) {
2457 if ( 125 <= (*p) && (*p) <= 126 )
2459 } else if ( (*p) >= 97 )
2467 #line 1 "wikitext_ragel.rl"
2469 #line 357 "wikitext_ragel.rl"
2473 #line 1 "wikitext_ragel.rl"
2475 #line 249 "wikitext_ragel.rl"
2482 #line 2483 "wikitext_ragel.c"
2487 case 123: goto st57;
2491 if ( 36 <= (*p) && (*p) <= 37 )
2493 } else if ( (*p) > 41 ) {
2495 if ( 48 <= (*p) && (*p) <= 57 )
2497 } else if ( (*p) >= 43 )
2501 } else if ( (*p) > 59 ) {
2504 if ( 65 <= (*p) && (*p) <= 90 )
2506 } else if ( (*p) >= 63 )
2508 } else if ( (*p) > 95 ) {
2510 if ( 125 <= (*p) && (*p) <= 126 )
2512 } else if ( (*p) >= 97 )
2526 case 123: goto st57;
2530 if ( 36 <= (*p) && (*p) <= 37 )
2532 } else if ( (*p) > 41 ) {
2534 if ( 48 <= (*p) && (*p) <= 57 )
2536 } else if ( (*p) >= 43 )
2540 } else if ( (*p) > 59 ) {
2543 if ( 65 <= (*p) && (*p) <= 90 )
2545 } else if ( (*p) >= 63 )
2547 } else if ( (*p) > 95 ) {
2549 if ( 125 <= (*p) && (*p) <= 126 )
2551 } else if ( (*p) >= 97 )
2566 case 123: goto st57;
2570 if ( 36 <= (*p) && (*p) <= 37 )
2572 } else if ( (*p) > 41 ) {
2574 if ( 48 <= (*p) && (*p) <= 57 )
2576 } else if ( (*p) >= 43 )
2580 } else if ( (*p) > 59 ) {
2583 if ( 65 <= (*p) && (*p) <= 90 )
2585 } else if ( (*p) >= 63 )
2587 } else if ( (*p) > 95 ) {
2589 if ( 125 <= (*p) && (*p) <= 126 )
2591 } else if ( (*p) >= 97 )
2606 case 123: goto st57;
2610 if ( 36 <= (*p) && (*p) <= 37 )
2612 } else if ( (*p) > 41 ) {
2614 if ( 48 <= (*p) && (*p) <= 57 )
2616 } else if ( (*p) >= 43 )
2620 } else if ( (*p) > 59 ) {
2623 if ( 65 <= (*p) && (*p) <= 90 )
2625 } else if ( (*p) >= 63 )
2627 } else if ( (*p) > 95 ) {
2629 if ( 125 <= (*p) && (*p) <= 126 )
2631 } else if ( (*p) >= 97 )
2646 case 123: goto st57;
2650 if ( 36 <= (*p) && (*p) <= 37 )
2652 } else if ( (*p) > 41 ) {
2654 if ( 48 <= (*p) && (*p) <= 57 )
2656 } else if ( (*p) >= 43 )
2660 } else if ( (*p) > 59 ) {
2663 if ( 65 <= (*p) && (*p) <= 90 )
2665 } else if ( (*p) >= 63 )
2667 } else if ( (*p) > 95 ) {
2669 if ( 125 <= (*p) && (*p) <= 126 )
2671 } else if ( (*p) >= 97 )
2686 case 123: goto st57;
2690 if ( 36 <= (*p) && (*p) <= 37 )
2692 } else if ( (*p) > 41 ) {
2694 if ( 48 <= (*p) && (*p) <= 57 )
2696 } else if ( (*p) >= 43 )
2700 } else if ( (*p) > 59 ) {
2703 if ( 65 <= (*p) && (*p) <= 90 )
2705 } else if ( (*p) >= 63 )
2707 } else if ( (*p) > 95 ) {
2709 if ( 125 <= (*p) && (*p) <= 126 )
2711 } else if ( (*p) >= 97 )
2727 case 86: goto st103;
2731 case 118: goto st103;
2732 case 123: goto st57;
2736 if ( 36 <= (*p) && (*p) <= 37 )
2738 } else if ( (*p) > 41 ) {
2739 if ( 43 <= (*p) && (*p) <= 44 )
2743 } else if ( (*p) > 57 ) {
2745 if ( 58 <= (*p) && (*p) <= 59 )
2747 } else if ( (*p) > 90 ) {
2749 if ( 125 <= (*p) && (*p) <= 126 )
2751 } else if ( (*p) >= 97 )
2771 case 110: goto st77;
2772 case 123: goto st57;
2776 if ( 36 <= (*p) && (*p) <= 37 )
2778 } else if ( (*p) > 41 ) {
2779 if ( 43 <= (*p) && (*p) <= 44 )
2783 } else if ( (*p) > 57 ) {
2785 if ( 58 <= (*p) && (*p) <= 59 )
2787 } else if ( (*p) > 90 ) {
2789 if ( 125 <= (*p) && (*p) <= 126 )
2791 } else if ( (*p) >= 97 )
2813 _test_eof54: cs = 54; goto _test_eof;
2814 _test_eof1: cs = 1; goto _test_eof;
2815 _test_eof2: cs = 2; goto _test_eof;
2816 _test_eof3: cs = 3; goto _test_eof;
2817 _test_eof4: cs = 4; goto _test_eof;
2818 _test_eof5: cs = 5; goto _test_eof;
2819 _test_eof6: cs = 6; goto _test_eof;
2820 _test_eof55: cs = 55; goto _test_eof;
2821 _test_eof56: cs = 56; goto _test_eof;
2822 _test_eof57: cs = 57; goto _test_eof;
2823 _test_eof58: cs = 58; goto _test_eof;
2824 _test_eof7: cs = 7; goto _test_eof;
2825 _test_eof8: cs = 8; goto _test_eof;
2826 _test_eof9: cs = 9; goto _test_eof;
2827 _test_eof10: cs = 10; goto _test_eof;
2828 _test_eof11: cs = 11; goto _test_eof;
2829 _test_eof12: cs = 12; goto _test_eof;
2830 _test_eof13: cs = 13; goto _test_eof;
2831 _test_eof14: cs = 14; goto _test_eof;
2832 _test_eof15: cs = 15; goto _test_eof;
2833 _test_eof16: cs = 16; goto _test_eof;
2834 _test_eof17: cs = 17; goto _test_eof;
2835 _test_eof18: cs = 18; goto _test_eof;
2836 _test_eof19: cs = 19; goto _test_eof;
2837 _test_eof59: cs = 59; goto _test_eof;
2838 _test_eof60: cs = 60; goto _test_eof;
2839 _test_eof61: cs = 61; goto _test_eof;
2840 _test_eof62: cs = 62; goto _test_eof;
2841 _test_eof63: cs = 63; goto _test_eof;
2842 _test_eof64: cs = 64; goto _test_eof;
2843 _test_eof65: cs = 65; goto _test_eof;
2844 _test_eof66: cs = 66; goto _test_eof;
2845 _test_eof67: cs = 67; goto _test_eof;
2846 _test_eof68: cs = 68; goto _test_eof;
2847 _test_eof69: cs = 69; goto _test_eof;
2848 _test_eof70: cs = 70; goto _test_eof;
2849 _test_eof71: cs = 71; goto _test_eof;
2850 _test_eof20: cs = 20; goto _test_eof;
2851 _test_eof21: cs = 21; goto _test_eof;
2852 _test_eof22: cs = 22; goto _test_eof;
2853 _test_eof23: cs = 23; goto _test_eof;
2854 _test_eof24: cs = 24; goto _test_eof;
2855 _test_eof25: cs = 25; goto _test_eof;
2856 _test_eof26: cs = 26; goto _test_eof;
2857 _test_eof27: cs = 27; goto _test_eof;
2858 _test_eof28: cs = 28; goto _test_eof;
2859 _test_eof29: cs = 29; goto _test_eof;
2860 _test_eof30: cs = 30; goto _test_eof;
2861 _test_eof31: cs = 31; goto _test_eof;
2862 _test_eof32: cs = 32; goto _test_eof;
2863 _test_eof33: cs = 33; goto _test_eof;
2864 _test_eof34: cs = 34; goto _test_eof;
2865 _test_eof35: cs = 35; goto _test_eof;
2866 _test_eof36: cs = 36; goto _test_eof;
2867 _test_eof37: cs = 37; goto _test_eof;
2868 _test_eof38: cs = 38; goto _test_eof;
2869 _test_eof39: cs = 39; goto _test_eof;
2870 _test_eof40: cs = 40; goto _test_eof;
2871 _test_eof41: cs = 41; goto _test_eof;
2872 _test_eof42: cs = 42; goto _test_eof;
2873 _test_eof43: cs = 43; goto _test_eof;
2874 _test_eof44: cs = 44; goto _test_eof;
2875 _test_eof45: cs = 45; goto _test_eof;
2876 _test_eof46: cs = 46; goto _test_eof;
2877 _test_eof47: cs = 47; goto _test_eof;
2878 _test_eof48: cs = 48; goto _test_eof;
2879 _test_eof49: cs = 49; goto _test_eof;
2880 _test_eof50: cs = 50; goto _test_eof;
2881 _test_eof51: cs = 51; goto _test_eof;
2882 _test_eof52: cs = 52; goto _test_eof;
2883 _test_eof72: cs = 72; goto _test_eof;
2884 _test_eof73: cs = 73; goto _test_eof;
2885 _test_eof74: cs = 74; goto _test_eof;
2886 _test_eof75: cs = 75; goto _test_eof;
2887 _test_eof76: cs = 76; goto _test_eof;
2888 _test_eof77: cs = 77; goto _test_eof;
2889 _test_eof78: cs = 78; goto _test_eof;
2890 _test_eof79: cs = 79; goto _test_eof;
2891 _test_eof80: cs = 80; goto _test_eof;
2892 _test_eof81: cs = 81; goto _test_eof;
2893 _test_eof53: cs = 53; goto _test_eof;
2894 _test_eof82: cs = 82; goto _test_eof;
2895 _test_eof83: cs = 83; goto _test_eof;
2896 _test_eof84: cs = 84; goto _test_eof;
2897 _test_eof85: cs = 85; goto _test_eof;
2898 _test_eof86: cs = 86; goto _test_eof;
2899 _test_eof87: cs = 87; goto _test_eof;
2900 _test_eof88: cs = 88; goto _test_eof;
2901 _test_eof89: cs = 89; goto _test_eof;
2902 _test_eof90: cs = 90; goto _test_eof;
2903 _test_eof91: cs = 91; goto _test_eof;
2904 _test_eof92: cs = 92; goto _test_eof;
2905 _test_eof93: cs = 93; goto _test_eof;
2906 _test_eof94: cs = 94; goto _test_eof;
2907 _test_eof95: cs = 95; goto _test_eof;
2908 _test_eof96: cs = 96; goto _test_eof;
2909 _test_eof97: cs = 97; goto _test_eof;
2910 _test_eof98: cs = 98; goto _test_eof;
2911 _test_eof99: cs = 99; goto _test_eof;
2912 _test_eof100: cs = 100; goto _test_eof;
2913 _test_eof101: cs = 101; goto _test_eof;
2914 _test_eof102: cs = 102; goto _test_eof;
2915 _test_eof103: cs = 103; goto _test_eof;
2916 _test_eof104: cs = 104; goto _test_eof;
2917 _test_eof105: cs = 105; goto _test_eof;
2946 case 65: goto tr104;
2949 case 68: goto tr108;
2950 case 69: goto tr108;
2951 case 70: goto tr108;
2952 case 71: goto tr112;
2986 case 72: goto tr118;
2987 case 73: goto tr118;
2988 case 74: goto tr120;
2995 case 81: goto tr128;
2997 case 82: goto tr104;
3011 case 96: goto tr104;
3014 case 99: goto tr128;
3015 case 100: goto tr128;
3016 case 101: goto tr128;
3017 case 102: goto tr92;
3018 case 103: goto tr92;
3019 case 104: goto tr149;
3020 case 105: goto tr151;
3026 #line 429 "wikitext_ragel.rl"
3027 if (cs == wikitext_error)
3028 rb_raise(eWikitextParserError, "failed before finding a token");
3029 else if (out->type == NO_TOKEN)
3030 rb_raise(eWikitextParserError, "failed to produce a token");