1 #line 1 "wikitext_ragel.rl"
2 // Copyright 2008-2009 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 = 94;
36 static const int wikitext_first_final = 94;
37 static const int wikitext_error = 0;
39 static const int wikitext_en_main = 94;
41 #line 468 "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 510 "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 459 "wikitext_ragel.rl"
108 out->column_stop = out->column_start + 1;
109 {p++; cs = 94; 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 459 "wikitext_ragel.rl"
122 out->column_stop = out->column_start + 1;
123 {p++; cs = 94; 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 459 "wikitext_ragel.rl"
137 out->column_stop = out->column_start + 1;
138 {p++; cs = 94; goto _out;}
142 #line 366 "wikitext_ragel.rl"
145 {p++; cs = 94; goto _out;}
149 #line 354 "wikitext_ragel.rl"
151 EMIT(DECIMAL_ENTITY);
152 {p++; cs = 94; goto _out;}
156 #line 348 "wikitext_ragel.rl"
159 {p++; cs = 94; goto _out;}
163 #line 342 "wikitext_ragel.rl"
166 {p++; cs = 94; goto _out;}
170 #line 336 "wikitext_ragel.rl"
173 {p++; cs = 94; goto _out;}
177 #line 330 "wikitext_ragel.rl"
180 {p++; cs = 94; goto _out;}
184 #line 1 "wikitext_ragel.rl"
189 {p++; cs = 94; goto _out;}
195 {p++; cs = 94; goto _out;}
200 EMIT(SPECIAL_URI_CHARS);
201 {p++; cs = 94; goto _out;}
207 {p++; cs = 94; goto _out;}
213 {p++; cs = 94; goto _out;}
221 #line 372 "wikitext_ragel.rl"
224 {p++; cs = 94; goto _out;}
228 #line 111 "wikitext_ragel.rl"
230 EMIT(BLOCKQUOTE_END);
231 {p++; cs = 94; goto _out;}
235 #line 153 "wikitext_ragel.rl"
238 {p++; cs = 94; goto _out;}
242 #line 87 "wikitext_ragel.rl"
245 {p++; cs = 94; goto _out;}
249 #line 99 "wikitext_ragel.rl"
252 {p++; cs = 94; goto _out;}
256 #line 141 "wikitext_ragel.rl"
259 {p++; cs = 94; goto _out;}
263 #line 171 "wikitext_ragel.rl"
266 {p++; cs = 94; goto _out;}
270 #line 105 "wikitext_ragel.rl"
272 EMIT(BLOCKQUOTE_START);
273 {p++; cs = 94; goto _out;}
277 #line 147 "wikitext_ragel.rl"
280 {p++; cs = 94; goto _out;}
284 #line 81 "wikitext_ragel.rl"
287 {p++; cs = 94; goto _out;}
291 #line 93 "wikitext_ragel.rl"
294 {p++; cs = 94; goto _out;}
298 #line 135 "wikitext_ragel.rl"
301 {p++; cs = 94; goto _out;}
305 #line 165 "wikitext_ragel.rl"
308 {p++; cs = 94; goto _out;}
312 #line 427 "wikitext_ragel.rl"
315 {p++; cs = 94; goto _out;}
319 #line 282 "wikitext_ragel.rl"
322 {p++; cs = 94; goto _out;}
326 #line 41 "wikitext_ragel.rl"
328 out->code_point = *p & 0x7f;
330 #line 459 "wikitext_ragel.rl"
333 out->column_stop = out->column_start + 1;
334 {p++; cs = 94; goto _out;}
338 #line 408 "wikitext_ragel.rl"
341 out->column_stop = 1;
343 {p++; cs = 94; goto _out;}
345 #line 41 "wikitext_ragel.rl"
347 out->code_point = *p & 0x7f;
351 #line 360 "wikitext_ragel.rl"
354 {p++; cs = 94; goto _out;}
358 #line 203 "wikitext_ragel.rl"
360 if (out->column_start == 1 ||
361 last_token_type == OL ||
362 last_token_type == UL ||
363 last_token_type == BLOCKQUOTE ||
364 last_token_type == BLOCKQUOTE_START)
368 {p++; cs = 94; goto _out;}
372 #line 216 "wikitext_ragel.rl"
374 if (out->column_start == 1 ||
375 last_token_type == OL ||
376 last_token_type == UL ||
377 last_token_type == BLOCKQUOTE ||
378 last_token_type == BLOCKQUOTE_START)
382 {p++; cs = 94; goto _out;}
386 #line 159 "wikitext_ragel.rl"
389 {p++; cs = 94; goto _out;}
393 #line 312 "wikitext_ragel.rl"
396 {p++; cs = 94; goto _out;}
400 #line 408 "wikitext_ragel.rl"
403 out->column_stop = 1;
405 {p++; cs = 94; goto _out;}
409 #line 408 "wikitext_ragel.rl"
412 out->column_stop = 1;
414 {p++; cs = 94; goto _out;}
418 #line 191 "wikitext_ragel.rl"
420 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
427 {p++; cs = 94; goto _out;}
431 #line 421 "wikitext_ragel.rl"
433 EMIT(SPECIAL_URI_CHARS);
434 {p++; cs = 94; goto _out;}
438 #line 439 "wikitext_ragel.rl"
441 {p++; cs = 94; goto _out;}
445 #line 366 "wikitext_ragel.rl"
448 {p++; cs = 94; goto _out;}
452 #line 117 "wikitext_ragel.rl"
456 else if (DISTANCE() == 4)
461 else if (DISTANCE() == 3)
463 else if (DISTANCE() == 2)
467 {p++; cs = 94; goto _out;}
471 #line 117 "wikitext_ragel.rl"
475 else if (DISTANCE() == 4)
480 else if (DISTANCE() == 3)
482 else if (DISTANCE() == 2)
486 {p++; cs = 94; goto _out;}
490 #line 288 "wikitext_ragel.rl"
493 {p++; cs = 94; goto _out;}
497 #line 294 "wikitext_ragel.rl"
500 {p++; cs = 94; goto _out;}
504 #line 427 "wikitext_ragel.rl"
507 {p++; cs = 94; goto _out;}
511 #line 372 "wikitext_ragel.rl"
514 {p++; cs = 94; goto _out;}
518 #line 229 "wikitext_ragel.rl"
520 if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
525 else if (DISTANCE() == 2)
527 else if (DISTANCE() == 3)
529 else if (DISTANCE() == 4)
531 else if (DISTANCE() == 5)
533 else if (DISTANCE() == 6)
535 else if (DISTANCE() > 6)
541 else if (AT_END() || NEXT_CHAR() == '\n' || NEXT_CHAR() == '\r')
546 else if (DISTANCE() == 2)
548 else if (DISTANCE() == 3)
550 else if (DISTANCE() == 4)
552 else if (DISTANCE() == 5)
554 else if (DISTANCE() == 6)
556 else if (DISTANCE() > 6)
558 p -= 6; // will scan the H6 on the next scan
564 // note that a H*_END token will never match before a BLOCKQUOTE_END
568 {p++; cs = 94; goto _out;}
572 #line 178 "wikitext_ragel.rl"
574 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
581 {p++; cs = 94; goto _out;}
585 #line 178 "wikitext_ragel.rl"
587 if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
594 {p++; cs = 94; goto _out;}
598 #line 282 "wikitext_ragel.rl"
601 {p++; cs = 94; goto _out;}
605 #line 318 "wikitext_ragel.rl"
607 EMIT(EXT_LINK_START);
608 {p++; cs = 94; goto _out;}
612 #line 300 "wikitext_ragel.rl"
615 {p++; cs = 94; goto _out;}
619 #line 324 "wikitext_ragel.rl"
622 {p++; cs = 94; goto _out;}
626 #line 306 "wikitext_ragel.rl"
629 {p++; cs = 94; goto _out;}
633 #line 396 "wikitext_ragel.rl"
636 {p++; cs = 94; goto _out;}
640 #line 384 "wikitext_ragel.rl"
643 {p++; cs = 94; goto _out;}
647 #line 402 "wikitext_ragel.rl"
650 {p++; cs = 94; goto _out;}
654 #line 390 "wikitext_ragel.rl"
657 {p++; cs = 94; goto _out;}
661 #line 1 "wikitext_ragel.rl"
666 #line 1 "wikitext_ragel.rl"
668 #line 669 "wikitext_ragel.c"
697 case 102: goto tr128;
698 case 104: goto tr129;
699 case 109: goto tr130;
700 case 115: goto tr131;
701 case 123: goto st142;
702 case 124: goto tr136;
703 case 125: goto st143;
705 case 127: goto tr110;
709 if ( -62 <= (*p) && (*p) <= -33 )
711 } else if ( (*p) > -17 ) {
713 if ( 1 <= (*p) && (*p) <= 31 )
715 } else if ( (*p) >= -16 )
719 } else if ( (*p) > 37 ) {
721 if ( 40 <= (*p) && (*p) <= 44 )
723 } else if ( (*p) > 57 ) {
725 if ( 65 <= (*p) && (*p) <= 122 )
727 } else if ( (*p) >= 58 )
780 #line 41 "wikitext_ragel.rl"
782 out->code_point = *p & 0x7f;
789 #line 790 "wikitext_ragel.c"
794 #line 36 "wikitext_ragel.rl"
803 #line 804 "wikitext_ragel.c"
818 if ( 58 <= (*p) && (*p) <= 59 )
820 } else if ( (*p) >= 40 )
836 if ( 94 <= (*p) && (*p) <= 95 )
838 } else if ( (*p) >= 36 )
842 #line 1 "wikitext_ragel.rl"
849 #line 850 "wikitext_ragel.c"
856 if ( 98 <= (*p) && (*p) <= 122 )
858 } else if ( (*p) >= 65 )
869 if ( 48 <= (*p) && (*p) <= 57 )
878 if ( 48 <= (*p) && (*p) <= 57 )
886 if ( 48 <= (*p) && (*p) <= 57 )
888 } else if ( (*p) > 70 ) {
889 if ( 97 <= (*p) && (*p) <= 102 )
901 if ( 48 <= (*p) && (*p) <= 57 )
903 } else if ( (*p) > 70 ) {
904 if ( 97 <= (*p) && (*p) <= 102 )
916 if ( 48 <= (*p) && (*p) <= 57 )
918 } else if ( (*p) > 90 ) {
919 if ( 97 <= (*p) && (*p) <= 122 )
930 if ( 48 <= (*p) && (*p) <= 57 )
942 if ( 48 <= (*p) && (*p) <= 57 )
944 } else if ( (*p) > 90 ) {
945 if ( 97 <= (*p) && (*p) <= 122 )
959 if ( 48 <= (*p) && (*p) <= 57 )
961 } else if ( (*p) > 90 ) {
962 if ( 97 <= (*p) && (*p) <= 122 )
974 if ( 48 <= (*p) && (*p) <= 57 )
976 } else if ( (*p) > 90 ) {
977 if ( 97 <= (*p) && (*p) <= 122 )
991 if ( 48 <= (*p) && (*p) <= 57 )
993 } else if ( (*p) > 90 ) {
994 if ( 97 <= (*p) && (*p) <= 122 )
1005 case 111: goto st18;
1008 if ( 48 <= (*p) && (*p) <= 57 )
1010 } else if ( (*p) > 90 ) {
1011 if ( 97 <= (*p) && (*p) <= 122 )
1022 case 116: goto st19;
1025 if ( 48 <= (*p) && (*p) <= 57 )
1027 } else if ( (*p) > 90 ) {
1028 if ( 97 <= (*p) && (*p) <= 122 )
1040 if ( 48 <= (*p) && (*p) <= 57 )
1042 } else if ( (*p) > 90 ) {
1043 if ( 97 <= (*p) && (*p) <= 122 )
1077 #line 1 "wikitext_ragel.rl"
1079 #line 439 "wikitext_ragel.rl"
1086 #line 1087 "wikitext_ragel.c"
1089 case 45: goto tr121;
1091 case 64: goto tr153;
1094 case 95: goto tr121;
1095 case 126: goto st98;
1098 if ( 36 <= (*p) && (*p) <= 37 )
1100 } else if ( (*p) > 57 ) {
1102 if ( 97 <= (*p) && (*p) <= 122 )
1104 } else if ( (*p) >= 65 )
1118 if ( 45 <= (*p) && (*p) <= 46 )
1120 } else if ( (*p) > 57 ) {
1122 if ( 97 <= (*p) && (*p) <= 122 )
1124 } else if ( (*p) >= 65 )
1134 if ( 48 <= (*p) && (*p) <= 57 )
1136 } else if ( (*p) > 90 ) {
1137 if ( 97 <= (*p) && (*p) <= 122 )
1149 if ( 48 <= (*p) && (*p) <= 57 )
1151 } else if ( (*p) > 90 ) {
1152 if ( 97 <= (*p) && (*p) <= 122 )
1162 if ( 48 <= (*p) && (*p) <= 57 )
1164 } else if ( (*p) > 90 ) {
1165 if ( 97 <= (*p) && (*p) <= 122 )
1177 if ( 48 <= (*p) && (*p) <= 57 )
1179 } else if ( (*p) > 90 ) {
1180 if ( 97 <= (*p) && (*p) <= 122 )
1186 #line 1 "wikitext_ragel.rl"
1188 #line 288 "wikitext_ragel.rl"
1195 #line 1196 "wikitext_ragel.c"
1199 if ( 48 <= (*p) && (*p) <= 57 )
1201 } else if ( (*p) > 90 ) {
1202 if ( 97 <= (*p) && (*p) <= 122 )
1208 #line 1 "wikitext_ragel.rl"
1210 #line 288 "wikitext_ragel.rl"
1217 #line 1218 "wikitext_ragel.c"
1221 if ( 48 <= (*p) && (*p) <= 57 )
1223 } else if ( (*p) > 90 ) {
1224 if ( 97 <= (*p) && (*p) <= 122 )
1230 #line 1 "wikitext_ragel.rl"
1232 #line 288 "wikitext_ragel.rl"
1239 #line 1240 "wikitext_ragel.c"
1243 if ( 48 <= (*p) && (*p) <= 57 )
1245 } else if ( (*p) > 90 ) {
1246 if ( 97 <= (*p) && (*p) <= 122 )
1252 #line 1 "wikitext_ragel.rl"
1254 #line 288 "wikitext_ragel.rl"
1261 #line 1262 "wikitext_ragel.c"
1265 if ( 48 <= (*p) && (*p) <= 57 )
1267 } else if ( (*p) > 90 ) {
1268 if ( 97 <= (*p) && (*p) <= 122 )
1274 #line 1 "wikitext_ragel.rl"
1276 #line 439 "wikitext_ragel.rl"
1283 #line 1284 "wikitext_ragel.c"
1290 case 126: goto st98;
1294 if ( 48 <= (*p) && (*p) <= 57 )
1296 } else if ( (*p) >= 36 )
1298 } else if ( (*p) > 90 ) {
1300 if ( 97 <= (*p) && (*p) <= 122 )
1302 } else if ( (*p) >= 94 )
1308 #line 1 "wikitext_ragel.rl"
1310 #line 421 "wikitext_ragel.rl"
1317 #line 1318 "wikitext_ragel.c"
1322 case 46: goto tr122;
1329 if ( 48 <= (*p) && (*p) <= 57 )
1331 } else if ( (*p) >= 40 )
1333 } else if ( (*p) > 59 ) {
1335 if ( 97 <= (*p) && (*p) <= 122 )
1337 } else if ( (*p) >= 65 )
1348 case 45: goto st112;
1353 case 95: goto st112;
1354 case 126: goto st98;
1357 if ( 36 <= (*p) && (*p) <= 37 )
1359 } else if ( (*p) > 57 ) {
1361 if ( 97 <= (*p) && (*p) <= 122 )
1363 } else if ( (*p) >= 65 )
1374 case 45: goto st112;
1375 case 47: goto st111;
1379 case 95: goto st112;
1380 case 126: goto st98;
1383 if ( 36 <= (*p) && (*p) <= 37 )
1385 } else if ( (*p) > 57 ) {
1387 if ( 97 <= (*p) && (*p) <= 122 )
1389 } else if ( (*p) >= 65 )
1399 case 47: goto st114;
1400 case 95: goto st113;
1403 if ( 45 <= (*p) && (*p) <= 57 )
1405 } else if ( (*p) > 90 ) {
1406 if ( 97 <= (*p) && (*p) <= 122 )
1418 if ( 45 <= (*p) && (*p) <= 46 )
1420 } else if ( (*p) > 57 ) {
1422 if ( 97 <= (*p) && (*p) <= 122 )
1424 } else if ( (*p) >= 65 )
1430 #line 1 "wikitext_ragel.rl"
1432 #line 427 "wikitext_ragel.rl"
1439 #line 1440 "wikitext_ragel.c"
1445 if ( 45 <= (*p) && (*p) <= 46 )
1447 } else if ( (*p) > 57 ) {
1449 if ( 97 <= (*p) && (*p) <= 122 )
1451 } else if ( (*p) >= 65 )
1457 #line 1 "wikitext_ragel.rl"
1464 #line 1465 "wikitext_ragel.c"
1474 case 101: goto st65;
1475 case 110: goto st67;
1476 case 112: goto st73;
1477 case 115: goto st76;
1478 case 116: goto st82;
1493 case 101: goto st36;
1494 case 110: goto st38;
1495 case 112: goto st44;
1496 case 115: goto st47;
1497 case 116: goto st53;
1506 case 108: goto st27;
1515 case 111: goto st28;
1533 case 107: goto st30;
1542 case 113: goto st31;
1551 case 117: goto st32;
1560 case 111: goto st33;
1569 case 116: goto st34;
1578 case 101: goto st35;
1594 case 109: goto st37;
1610 case 111: goto st39;
1619 case 119: goto st40;
1628 case 105: goto st41;
1637 case 107: goto st42;
1646 case 105: goto st43;
1662 case 114: goto st45;
1671 case 101: goto st46;
1687 case 116: goto st48;
1696 case 114: goto st49;
1705 case 111: goto st50;
1714 case 110: goto st51;
1723 case 103: goto st52;
1739 case 116: goto st54;
1755 case 108: goto st56;
1764 case 111: goto st57;
1782 case 107: goto st59;
1791 case 113: goto st60;
1800 case 117: goto st61;
1809 case 111: goto st62;
1818 case 116: goto st63;
1827 case 101: goto st64;
1843 case 109: goto st66;
1859 case 111: goto st68;
1868 case 119: goto st69;
1877 case 105: goto st70;
1886 case 107: goto st71;
1895 case 105: goto st72;
1911 case 114: goto st74;
1920 case 101: goto st75;
1936 case 116: goto st77;
1945 case 114: goto st78;
1954 case 111: goto st79;
1963 case 110: goto st80;
1972 case 103: goto st81;
1988 case 116: goto st83;
1999 #line 36 "wikitext_ragel.rl"
2008 #line 2009 "wikitext_ragel.c"
2010 case 32: goto st118;
2011 case 61: goto tr126;
2022 #line 36 "wikitext_ragel.rl"
2031 #line 2032 "wikitext_ragel.c"
2036 #line 1 "wikitext_ragel.rl"
2038 #line 427 "wikitext_ragel.rl"
2045 #line 2046 "wikitext_ragel.c"
2048 case 84: goto tr175;
2050 case 116: goto tr175;
2053 if ( 45 <= (*p) && (*p) <= 46 )
2055 } else if ( (*p) > 57 ) {
2057 if ( 97 <= (*p) && (*p) <= 122 )
2059 } else if ( (*p) >= 65 )
2065 #line 1 "wikitext_ragel.rl"
2067 #line 427 "wikitext_ragel.rl"
2074 #line 2075 "wikitext_ragel.c"
2077 case 80: goto tr176;
2079 case 112: goto tr176;
2082 if ( 45 <= (*p) && (*p) <= 46 )
2084 } else if ( (*p) > 57 ) {
2086 if ( 97 <= (*p) && (*p) <= 122 )
2088 } else if ( (*p) >= 65 )
2094 #line 1 "wikitext_ragel.rl"
2096 #line 427 "wikitext_ragel.rl"
2103 #line 2104 "wikitext_ragel.c"
2110 if ( 45 <= (*p) && (*p) <= 46 )
2112 } else if ( (*p) > 57 ) {
2114 if ( 97 <= (*p) && (*p) <= 122 )
2116 } else if ( (*p) >= 65 )
2143 case 126: goto tr98;
2147 if ( 42 <= (*p) && (*p) <= 43 )
2149 } else if ( (*p) >= 35 )
2151 } else if ( (*p) > 57 ) {
2153 if ( 97 <= (*p) && (*p) <= 122 )
2155 } else if ( (*p) >= 64 )
2161 #line 1 "wikitext_ragel.rl"
2168 #line 2169 "wikitext_ragel.c"
2177 case 126: goto tr98;
2180 if ( 35 <= (*p) && (*p) <= 57 )
2182 } else if ( (*p) > 59 ) {
2184 if ( 97 <= (*p) && (*p) <= 122 )
2186 } else if ( (*p) >= 64 )
2203 case 126: goto tr98;
2206 if ( 35 <= (*p) && (*p) <= 57 )
2208 } else if ( (*p) > 59 ) {
2210 if ( 97 <= (*p) && (*p) <= 122 )
2212 } else if ( (*p) >= 64 )
2218 #line 1 "wikitext_ragel.rl"
2220 #line 427 "wikitext_ragel.rl"
2227 #line 2228 "wikitext_ragel.c"
2230 case 84: goto tr179;
2232 case 116: goto tr179;
2235 if ( 45 <= (*p) && (*p) <= 46 )
2237 } else if ( (*p) > 57 ) {
2239 if ( 97 <= (*p) && (*p) <= 122 )
2241 } else if ( (*p) >= 65 )
2247 #line 1 "wikitext_ragel.rl"
2249 #line 427 "wikitext_ragel.rl"
2256 #line 2257 "wikitext_ragel.c"
2259 case 84: goto tr180;
2261 case 116: goto tr180;
2264 if ( 45 <= (*p) && (*p) <= 46 )
2266 } else if ( (*p) > 57 ) {
2268 if ( 97 <= (*p) && (*p) <= 122 )
2270 } else if ( (*p) >= 65 )
2276 #line 1 "wikitext_ragel.rl"
2278 #line 427 "wikitext_ragel.rl"
2285 #line 2286 "wikitext_ragel.c"
2288 case 80: goto tr181;
2290 case 112: goto tr181;
2293 if ( 45 <= (*p) && (*p) <= 46 )
2295 } else if ( (*p) > 57 ) {
2297 if ( 97 <= (*p) && (*p) <= 122 )
2299 } else if ( (*p) >= 65 )
2305 #line 1 "wikitext_ragel.rl"
2307 #line 427 "wikitext_ragel.rl"
2314 #line 2315 "wikitext_ragel.c"
2318 case 83: goto tr176;
2320 case 115: goto tr176;
2323 if ( 45 <= (*p) && (*p) <= 46 )
2325 } else if ( (*p) > 57 ) {
2327 if ( 97 <= (*p) && (*p) <= 122 )
2329 } else if ( (*p) >= 65 )
2335 #line 1 "wikitext_ragel.rl"
2337 #line 427 "wikitext_ragel.rl"
2344 #line 2345 "wikitext_ragel.c"
2347 case 65: goto tr182;
2349 case 97: goto tr182;
2352 if ( 45 <= (*p) && (*p) <= 46 )
2354 } else if ( (*p) > 57 ) {
2356 if ( 98 <= (*p) && (*p) <= 122 )
2358 } else if ( (*p) >= 66 )
2364 #line 1 "wikitext_ragel.rl"
2366 #line 427 "wikitext_ragel.rl"
2373 #line 2374 "wikitext_ragel.c"
2376 case 73: goto tr183;
2378 case 105: goto tr183;
2381 if ( 45 <= (*p) && (*p) <= 46 )
2383 } else if ( (*p) > 57 ) {
2385 if ( 97 <= (*p) && (*p) <= 122 )
2387 } else if ( (*p) >= 65 )
2393 #line 1 "wikitext_ragel.rl"
2395 #line 427 "wikitext_ragel.rl"
2402 #line 2403 "wikitext_ragel.c"
2405 case 76: goto tr184;
2407 case 108: goto tr184;
2410 if ( 45 <= (*p) && (*p) <= 46 )
2412 } else if ( (*p) > 57 ) {
2414 if ( 97 <= (*p) && (*p) <= 122 )
2416 } else if ( (*p) >= 65 )
2422 #line 1 "wikitext_ragel.rl"
2424 #line 427 "wikitext_ragel.rl"
2431 #line 2432 "wikitext_ragel.c"
2434 case 84: goto tr185;
2436 case 116: goto tr185;
2439 if ( 45 <= (*p) && (*p) <= 46 )
2441 } else if ( (*p) > 57 ) {
2443 if ( 97 <= (*p) && (*p) <= 122 )
2445 } else if ( (*p) >= 65 )
2451 #line 1 "wikitext_ragel.rl"
2453 #line 427 "wikitext_ragel.rl"
2460 #line 2461 "wikitext_ragel.c"
2463 case 79: goto tr186;
2465 case 111: goto tr186;
2468 if ( 45 <= (*p) && (*p) <= 46 )
2470 } else if ( (*p) > 57 ) {
2472 if ( 97 <= (*p) && (*p) <= 122 )
2474 } else if ( (*p) >= 65 )
2480 #line 1 "wikitext_ragel.rl"
2482 #line 427 "wikitext_ragel.rl"
2489 #line 2490 "wikitext_ragel.c"
2496 if ( 45 <= (*p) && (*p) <= 46 )
2498 } else if ( (*p) > 57 ) {
2500 if ( 97 <= (*p) && (*p) <= 122 )
2502 } else if ( (*p) >= 65 )
2514 if ( 45 <= (*p) && (*p) <= 46 )
2516 } else if ( (*p) > 57 ) {
2518 if ( 97 <= (*p) && (*p) <= 122 )
2520 } else if ( (*p) >= 65 )
2534 if ( 45 <= (*p) && (*p) <= 46 )
2536 } else if ( (*p) > 57 ) {
2538 if ( 97 <= (*p) && (*p) <= 122 )
2540 } else if ( (*p) >= 65 )
2550 if ( 48 <= (*p) && (*p) <= 57 )
2552 } else if ( (*p) > 90 ) {
2553 if ( 97 <= (*p) && (*p) <= 122 )
2565 if ( 48 <= (*p) && (*p) <= 57 )
2567 } else if ( (*p) > 90 ) {
2568 if ( 97 <= (*p) && (*p) <= 122 )
2578 if ( 48 <= (*p) && (*p) <= 57 )
2580 } else if ( (*p) > 90 ) {
2581 if ( 97 <= (*p) && (*p) <= 122 )
2593 if ( 48 <= (*p) && (*p) <= 57 )
2595 } else if ( (*p) > 90 ) {
2596 if ( 97 <= (*p) && (*p) <= 122 )
2602 #line 1 "wikitext_ragel.rl"
2604 #line 282 "wikitext_ragel.rl"
2611 #line 2612 "wikitext_ragel.c"
2615 if ( 48 <= (*p) && (*p) <= 57 )
2617 } else if ( (*p) > 90 ) {
2618 if ( 97 <= (*p) && (*p) <= 122 )
2624 #line 1 "wikitext_ragel.rl"
2626 #line 282 "wikitext_ragel.rl"
2633 #line 2634 "wikitext_ragel.c"
2637 if ( 48 <= (*p) && (*p) <= 57 )
2639 } else if ( (*p) > 90 ) {
2640 if ( 97 <= (*p) && (*p) <= 122 )
2646 #line 1 "wikitext_ragel.rl"
2648 #line 282 "wikitext_ragel.rl"
2655 #line 2656 "wikitext_ragel.c"
2659 if ( 48 <= (*p) && (*p) <= 57 )
2661 } else if ( (*p) > 90 ) {
2662 if ( 97 <= (*p) && (*p) <= 122 )
2668 #line 1 "wikitext_ragel.rl"
2670 #line 282 "wikitext_ragel.rl"
2677 #line 2678 "wikitext_ragel.c"
2681 if ( 48 <= (*p) && (*p) <= 57 )
2683 } else if ( (*p) > 90 ) {
2684 if ( 97 <= (*p) && (*p) <= 122 )
2690 #line 1 "wikitext_ragel.rl"
2692 #line 427 "wikitext_ragel.rl"
2699 #line 2700 "wikitext_ragel.c"
2702 case 86: goto tr191;
2704 case 118: goto tr191;
2707 if ( 45 <= (*p) && (*p) <= 46 )
2709 } else if ( (*p) > 57 ) {
2711 if ( 97 <= (*p) && (*p) <= 122 )
2713 } else if ( (*p) >= 65 )
2719 #line 1 "wikitext_ragel.rl"
2721 #line 427 "wikitext_ragel.rl"
2728 #line 2729 "wikitext_ragel.c"
2731 case 78: goto tr176;
2733 case 110: goto tr176;
2736 if ( 45 <= (*p) && (*p) <= 46 )
2738 } else if ( (*p) > 57 ) {
2740 if ( 97 <= (*p) && (*p) <= 122 )
2742 } else if ( (*p) >= 65 )
2776 _test_eof94: cs = 94; goto _test_eof;
2777 _test_eof1: cs = 1; goto _test_eof;
2778 _test_eof2: cs = 2; goto _test_eof;
2779 _test_eof3: cs = 3; goto _test_eof;
2780 _test_eof4: cs = 4; goto _test_eof;
2781 _test_eof5: cs = 5; goto _test_eof;
2782 _test_eof6: cs = 6; goto _test_eof;
2783 _test_eof95: cs = 95; goto _test_eof;
2784 _test_eof96: cs = 96; goto _test_eof;
2785 _test_eof97: cs = 97; goto _test_eof;
2786 _test_eof98: cs = 98; goto _test_eof;
2787 _test_eof99: cs = 99; goto _test_eof;
2788 _test_eof7: cs = 7; goto _test_eof;
2789 _test_eof8: cs = 8; goto _test_eof;
2790 _test_eof9: cs = 9; goto _test_eof;
2791 _test_eof10: cs = 10; goto _test_eof;
2792 _test_eof11: cs = 11; goto _test_eof;
2793 _test_eof12: cs = 12; goto _test_eof;
2794 _test_eof13: cs = 13; goto _test_eof;
2795 _test_eof14: cs = 14; goto _test_eof;
2796 _test_eof15: cs = 15; goto _test_eof;
2797 _test_eof16: cs = 16; goto _test_eof;
2798 _test_eof17: cs = 17; goto _test_eof;
2799 _test_eof18: cs = 18; goto _test_eof;
2800 _test_eof19: cs = 19; goto _test_eof;
2801 _test_eof100: cs = 100; goto _test_eof;
2802 _test_eof101: cs = 101; goto _test_eof;
2803 _test_eof102: cs = 102; goto _test_eof;
2804 _test_eof103: cs = 103; goto _test_eof;
2805 _test_eof104: cs = 104; goto _test_eof;
2806 _test_eof20: cs = 20; goto _test_eof;
2807 _test_eof21: cs = 21; goto _test_eof;
2808 _test_eof22: cs = 22; goto _test_eof;
2809 _test_eof23: cs = 23; goto _test_eof;
2810 _test_eof24: cs = 24; goto _test_eof;
2811 _test_eof105: cs = 105; goto _test_eof;
2812 _test_eof106: cs = 106; goto _test_eof;
2813 _test_eof107: cs = 107; goto _test_eof;
2814 _test_eof108: cs = 108; goto _test_eof;
2815 _test_eof109: cs = 109; goto _test_eof;
2816 _test_eof110: cs = 110; goto _test_eof;
2817 _test_eof111: cs = 111; goto _test_eof;
2818 _test_eof112: cs = 112; goto _test_eof;
2819 _test_eof113: cs = 113; goto _test_eof;
2820 _test_eof114: cs = 114; goto _test_eof;
2821 _test_eof115: cs = 115; goto _test_eof;
2822 _test_eof116: cs = 116; goto _test_eof;
2823 _test_eof25: cs = 25; goto _test_eof;
2824 _test_eof26: cs = 26; goto _test_eof;
2825 _test_eof27: cs = 27; goto _test_eof;
2826 _test_eof28: cs = 28; goto _test_eof;
2827 _test_eof29: cs = 29; goto _test_eof;
2828 _test_eof30: cs = 30; goto _test_eof;
2829 _test_eof31: cs = 31; goto _test_eof;
2830 _test_eof32: cs = 32; goto _test_eof;
2831 _test_eof33: cs = 33; goto _test_eof;
2832 _test_eof34: cs = 34; goto _test_eof;
2833 _test_eof35: cs = 35; goto _test_eof;
2834 _test_eof36: cs = 36; goto _test_eof;
2835 _test_eof37: cs = 37; goto _test_eof;
2836 _test_eof38: cs = 38; goto _test_eof;
2837 _test_eof39: cs = 39; goto _test_eof;
2838 _test_eof40: cs = 40; goto _test_eof;
2839 _test_eof41: cs = 41; goto _test_eof;
2840 _test_eof42: cs = 42; goto _test_eof;
2841 _test_eof43: cs = 43; goto _test_eof;
2842 _test_eof44: cs = 44; goto _test_eof;
2843 _test_eof45: cs = 45; goto _test_eof;
2844 _test_eof46: cs = 46; goto _test_eof;
2845 _test_eof47: cs = 47; goto _test_eof;
2846 _test_eof48: cs = 48; goto _test_eof;
2847 _test_eof49: cs = 49; goto _test_eof;
2848 _test_eof50: cs = 50; goto _test_eof;
2849 _test_eof51: cs = 51; goto _test_eof;
2850 _test_eof52: cs = 52; goto _test_eof;
2851 _test_eof53: cs = 53; goto _test_eof;
2852 _test_eof54: cs = 54; goto _test_eof;
2853 _test_eof55: cs = 55; goto _test_eof;
2854 _test_eof56: cs = 56; goto _test_eof;
2855 _test_eof57: cs = 57; goto _test_eof;
2856 _test_eof58: cs = 58; goto _test_eof;
2857 _test_eof59: cs = 59; goto _test_eof;
2858 _test_eof60: cs = 60; goto _test_eof;
2859 _test_eof61: cs = 61; goto _test_eof;
2860 _test_eof62: cs = 62; goto _test_eof;
2861 _test_eof63: cs = 63; goto _test_eof;
2862 _test_eof64: cs = 64; goto _test_eof;
2863 _test_eof65: cs = 65; goto _test_eof;
2864 _test_eof66: cs = 66; goto _test_eof;
2865 _test_eof67: cs = 67; goto _test_eof;
2866 _test_eof68: cs = 68; goto _test_eof;
2867 _test_eof69: cs = 69; goto _test_eof;
2868 _test_eof70: cs = 70; goto _test_eof;
2869 _test_eof71: cs = 71; goto _test_eof;
2870 _test_eof72: cs = 72; goto _test_eof;
2871 _test_eof73: cs = 73; goto _test_eof;
2872 _test_eof74: cs = 74; goto _test_eof;
2873 _test_eof75: cs = 75; goto _test_eof;
2874 _test_eof76: cs = 76; goto _test_eof;
2875 _test_eof77: cs = 77; goto _test_eof;
2876 _test_eof78: cs = 78; goto _test_eof;
2877 _test_eof79: cs = 79; goto _test_eof;
2878 _test_eof80: cs = 80; goto _test_eof;
2879 _test_eof81: cs = 81; goto _test_eof;
2880 _test_eof82: cs = 82; goto _test_eof;
2881 _test_eof83: cs = 83; goto _test_eof;
2882 _test_eof117: cs = 117; goto _test_eof;
2883 _test_eof118: cs = 118; goto _test_eof;
2884 _test_eof119: cs = 119; goto _test_eof;
2885 _test_eof120: cs = 120; goto _test_eof;
2886 _test_eof121: cs = 121; goto _test_eof;
2887 _test_eof122: cs = 122; goto _test_eof;
2888 _test_eof84: cs = 84; goto _test_eof;
2889 _test_eof85: cs = 85; goto _test_eof;
2890 _test_eof86: cs = 86; goto _test_eof;
2891 _test_eof123: cs = 123; goto _test_eof;
2892 _test_eof87: cs = 87; goto _test_eof;
2893 _test_eof124: cs = 124; goto _test_eof;
2894 _test_eof125: cs = 125; goto _test_eof;
2895 _test_eof126: cs = 126; goto _test_eof;
2896 _test_eof127: cs = 127; goto _test_eof;
2897 _test_eof128: cs = 128; goto _test_eof;
2898 _test_eof129: cs = 129; goto _test_eof;
2899 _test_eof130: cs = 130; goto _test_eof;
2900 _test_eof131: cs = 131; goto _test_eof;
2901 _test_eof132: cs = 132; goto _test_eof;
2902 _test_eof133: cs = 133; goto _test_eof;
2903 _test_eof88: cs = 88; goto _test_eof;
2904 _test_eof89: cs = 89; goto _test_eof;
2905 _test_eof90: cs = 90; goto _test_eof;
2906 _test_eof91: cs = 91; goto _test_eof;
2907 _test_eof92: cs = 92; goto _test_eof;
2908 _test_eof93: cs = 93; goto _test_eof;
2909 _test_eof134: cs = 134; goto _test_eof;
2910 _test_eof135: cs = 135; goto _test_eof;
2911 _test_eof136: cs = 136; goto _test_eof;
2912 _test_eof137: cs = 137; goto _test_eof;
2913 _test_eof138: cs = 138; goto _test_eof;
2914 _test_eof139: cs = 139; goto _test_eof;
2915 _test_eof140: cs = 140; goto _test_eof;
2916 _test_eof141: cs = 141; goto _test_eof;
2917 _test_eof142: cs = 142; goto _test_eof;
2918 _test_eof143: cs = 143; goto _test_eof;
2924 case 95: goto tr138;
2925 case 96: goto tr140;
2926 case 97: goto tr142;
2927 case 98: goto tr143;
2928 case 99: goto tr144;
2942 case 100: goto tr148;
2943 case 101: goto tr148;
2944 case 102: goto tr148;
2945 case 103: goto tr148;
2946 case 104: goto tr143;
2952 case 105: goto tr154;
2953 case 106: goto tr154;
2954 case 107: goto tr154;
2955 case 108: goto tr154;
2956 case 109: goto tr143;
2957 case 110: goto tr142;
2958 case 111: goto tr158;
2959 case 112: goto tr158;
2960 case 113: goto tr158;
2961 case 114: goto tr158;
2962 case 115: goto tr162;
2963 case 116: goto tr163;
3023 case 117: goto tr171;
3024 case 118: goto tr171;
3025 case 119: goto tr173;
3026 case 120: goto tr162;
3027 case 121: goto tr162;
3028 case 122: goto tr162;
3032 case 123: goto tr178;
3034 case 124: goto tr162;
3035 case 125: goto tr162;
3036 case 126: goto tr162;
3037 case 127: goto tr162;
3038 case 128: goto tr162;
3039 case 129: goto tr162;
3040 case 130: goto tr162;
3041 case 131: goto tr162;
3042 case 132: goto tr162;
3043 case 133: goto tr162;
3050 case 134: goto tr178;
3051 case 135: goto tr178;
3052 case 136: goto tr178;
3053 case 137: goto tr178;
3054 case 138: goto tr162;
3055 case 139: goto tr162;
3056 case 140: goto tr192;
3057 case 141: goto tr194;
3058 case 142: goto tr196;
3059 case 143: goto tr198;
3065 #line 511 "wikitext_ragel.rl"
3066 if (cs == wikitext_error)
3067 rb_raise(eWikitextParserError, "failed before finding a token");
3068 else if (out->type == NO_TOKEN)
3069 rb_raise(eWikitextParserError, "failed to produce a token");