#line 1 "ragel/redcloth_attributes.c.rl" /* * redcloth_attributes.c.rl * * Copyright (C) 2009 Jason Garber */ #define RSTRING_NOT_MODIFIED #include #include "redcloth.h" #line 16 "ragel/redcloth_attributes.c.rl" #line 18 "ext/redcloth_scan/redcloth_attributes.c" static const char _redcloth_attributes_actions[] = { 0, 1, 2, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 11, 1, 12, 1, 13, 1, 15, 1, 18, 1, 19, 2, 3, 14, 2, 10, 17, 2, 13, 0, 2, 13, 1, 2, 13, 2, 2, 13, 5, 2, 13, 6, 2, 13, 7, 2, 13, 8, 3, 9, 10, 16 }; static const short _redcloth_attributes_key_offsets[] = { 0, 0, 6, 11, 27, 33, 38, 44, 60, 66, 89, 112, 122, 133, 141, 150, 157, 163, 168, 184, 207, 211, 216, 231, 248, 266, 284, 302, 330, 344, 373, 402, 432, 439, 445, 460, 474, 489, 499, 505, 520, 534, 549, 559, 566, 576, 587, 608, 631, 655, 679, 703, 736, 756, 790, 824, 859, 875, 891, 901, 912, 933, 956, 980, 1004, 1028, 1061, 1081, 1115, 1149, 1184, 1187, 1193, 1208, 1222, 1237, 1246, 1256, 1267, 1288, 1311, 1335, 1359, 1383, 1416, 1436, 1470, 1504, 1539 }; static const char _redcloth_attributes_trans_keys[] = { 0, 9, 10, 32, 11, 13, 0, 9, 32, 10, 13, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 11, 13, 0, 9, 32, 10, 13, 0, 9, 10, 32, 11, 13, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 11, 13, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, 32, 35, 45, 95, 48, 57, 65, 90, 97, 122, 32, 35, 41, 45, 95, 48, 57, 65, 90, 97, 122, 45, 95, 48, 57, 65, 90, 97, 122, 41, 45, 95, 48, 57, 65, 90, 97, 122, 0, 32, 40, 91, 123, 9, 13, 0, 9, 10, 32, 11, 13, 0, 9, 32, 10, 13, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, 45, 95, 97, 122, 45, 93, 95, 97, 122, -128, -30, 61, 92, 95, -100, -99, 32, 41, 44, 59, 63, 90, 97, 122, -128, -30, 61, 92, 95, 117, 125, -100, -99, 32, 41, 44, 59, 63, 90, 97, 122, -128, -30, 61, 92, 95, 114, 117, 125, -100, -99, 32, 41, 44, 59, 63, 90, 97, 122, -128, -30, 61, 92, 95, 108, 117, 125, -100, -99, 32, 41, 44, 59, 63, 90, 97, 122, -128, -30, 40, 61, 92, 95, 117, 125, -100, -99, 32, 41, 44, 59, 63, 90, 97, 122, -128, -30, 39, 43, 44, 61, 92, 95, 117, 125, -100, -99, 32, 33, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 39, 41, 43, 61, 92, 95, 34, 35, 45, 57, 63, 64, 97, 122, -128, -30, 39, 43, 44, 61, 92, 95, 114, 117, 125, -100, -99, 32, 33, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 39, 43, 44, 61, 92, 95, 108, 117, 125, -100, -99, 32, 33, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 41, 43, 44, 61, 92, 95, 117, 125, -100, -99, 32, 33, 34, 35, 36, 38, 39, 40, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 32, 40, 91, 123, 9, 13, 0, 9, 10, 32, 11, 13, 0, 9, 10, 32, 35, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 40, 46, 91, 123, 11, 13, 0, 9, 10, 32, 11, 13, 0, 9, 10, 32, 35, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 40, 46, 91, 123, 11, 13, 0, 9, 10, 32, 46, 11, 13, 0, 9, 10, 32, 45, 95, 11, 13, 97, 122, 0, 9, 10, 32, 45, 93, 95, 11, 13, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 40, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 9, 10, 32, 39, 41, 43, 61, 92, 95, 11, 13, 34, 35, 45, 57, 63, 64, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 41, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 38, 39, 40, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 45, 95, 11, 13, 97, 122, 0, 9, 10, 32, 45, 93, 95, 11, 13, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 40, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 9, 10, 32, 39, 41, 43, 61, 92, 95, 11, 13, 34, 35, 45, 57, 63, 64, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 41, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 38, 39, 40, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 40, 91, 123, 0, 9, 10, 32, 11, 13, 0, 9, 10, 32, 35, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0, 9, 10, 32, 40, 91, 123, 11, 13, 0, 9, 10, 32, 45, 95, 11, 13, 97, 122, 0, 9, 10, 32, 45, 93, 95, 11, 13, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 40, 61, 92, 95, 117, 125, -100, -99, 11, 13, 33, 41, 44, 59, 63, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 9, 10, 32, 39, 41, 43, 61, 92, 95, 11, 13, 34, 35, 45, 57, 63, 64, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 114, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 39, 43, 44, 61, 92, 95, 108, 117, 125, -100, -99, 11, 13, 34, 35, 36, 41, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, -128, -30, 0, 9, 10, 32, 33, 41, 43, 44, 61, 92, 95, 117, 125, -100, -99, 11, 13, 34, 35, 36, 38, 39, 40, 45, 57, 58, 59, 63, 64, 65, 90, 97, 122, 0, 9, 10, 32, 35, 41, 45, 95, 11, 13, 48, 57, 65, 90, 97, 122, 0 }; static const char _redcloth_attributes_single_lengths[] = { 0, 4, 3, 8, 4, 3, 4, 8, 4, 11, 11, 4, 5, 2, 3, 5, 4, 3, 8, 11, 2, 3, 5, 7, 8, 8, 8, 10, 6, 11, 11, 10, 5, 4, 7, 6, 7, 8, 4, 7, 6, 7, 8, 5, 6, 7, 9, 11, 12, 12, 12, 15, 10, 16, 16, 15, 8, 8, 6, 7, 9, 11, 12, 12, 12, 15, 10, 16, 16, 15, 3, 4, 7, 6, 7, 7, 6, 7, 9, 11, 12, 12, 12, 15, 10, 16, 16, 15, 8 }; static const char _redcloth_attributes_range_lengths[] = { 0, 1, 1, 4, 1, 1, 1, 4, 1, 6, 6, 3, 3, 3, 3, 1, 1, 1, 4, 6, 1, 1, 5, 5, 5, 5, 5, 9, 4, 9, 9, 10, 1, 1, 4, 4, 4, 1, 1, 4, 4, 4, 1, 1, 2, 2, 6, 6, 6, 6, 6, 9, 5, 9, 9, 10, 4, 4, 2, 2, 6, 6, 6, 6, 6, 9, 5, 9, 9, 10, 0, 1, 4, 4, 4, 1, 2, 2, 6, 6, 6, 6, 6, 9, 5, 9, 9, 10, 4 }; static const short _redcloth_attributes_index_offsets[] = { 0, 0, 6, 11, 24, 30, 35, 41, 54, 60, 78, 96, 104, 113, 119, 126, 133, 139, 144, 157, 175, 179, 184, 195, 208, 222, 236, 250, 270, 281, 302, 323, 344, 351, 357, 369, 380, 392, 402, 408, 420, 431, 443, 453, 460, 469, 479, 495, 513, 532, 551, 570, 595, 611, 637, 663, 689, 702, 715, 724, 734, 750, 768, 787, 806, 825, 850, 866, 892, 918, 944, 948, 954, 966, 977, 989, 998, 1007, 1017, 1033, 1051, 1070, 1089, 1108, 1133, 1149, 1175, 1201, 1227 }; static const unsigned char _redcloth_attributes_indicies[] = { 0, 2, 3, 2, 0, 1, 0, 2, 2, 0, 1, 0, 2, 3, 4, 5, 6, 7, 7, 0, 7, 7, 7, 1, 8, 10, 11, 10, 8, 9, 8, 10, 10, 8, 9, 0, 2, 3, 13, 0, 12, 8, 10, 11, 14, 15, 16, 17, 17, 8, 17, 17, 17, 9, 8, 10, 11, 18, 8, 12, 19, 19, 8, 10, 11, 20, 19, 19, 19, 21, 22, 19, 8, 19, 19, 19, 19, 9, 23, 23, 0, 2, 3, 24, 23, 23, 23, 25, 26, 23, 0, 23, 23, 23, 23, 1, 27, 29, 27, 27, 27, 27, 27, 28, 30, 31, 32, 30, 30, 30, 30, 30, 28, 33, 33, 33, 33, 33, 28, 34, 35, 35, 35, 35, 35, 28, 28, 28, 37, 38, 39, 28, 36, 40, 42, 43, 42, 40, 41, 40, 42, 42, 40, 41, 40, 42, 43, 44, 45, 46, 47, 47, 40, 47, 47, 47, 41, 48, 48, 40, 42, 43, 49, 48, 48, 48, 50, 51, 48, 40, 48, 48, 48, 48, 41, 52, 52, 52, 28, 53, 54, 53, 53, 28, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 28, 56, 56, 56, 56, 56, 57, 58, 56, 56, 56, 56, 56, 28, 56, 56, 56, 56, 56, 59, 57, 58, 56, 56, 56, 56, 56, 28, 56, 56, 56, 56, 56, 60, 57, 58, 56, 56, 56, 56, 56, 28, 56, 56, 61, 56, 56, 56, 57, 58, 56, 56, 56, 56, 56, 28, 56, 56, 61, 62, 56, 61, 61, 61, 63, 58, 56, 56, 61, 56, 61, 56, 61, 56, 61, 28, 62, 56, 62, 62, 62, 62, 62, 62, 62, 62, 28, 56, 56, 61, 62, 56, 61, 61, 61, 64, 63, 58, 56, 56, 61, 56, 61, 56, 61, 56, 61, 28, 56, 56, 61, 62, 56, 61, 61, 61, 65, 63, 58, 56, 56, 61, 56, 61, 56, 61, 56, 61, 28, 56, 56, 56, 62, 56, 61, 61, 61, 63, 58, 56, 56, 61, 56, 61, 61, 56, 61, 56, 61, 28, 28, 28, 67, 68, 69, 28, 66, 70, 2, 3, 2, 70, 1, 70, 2, 3, 71, 72, 73, 73, 70, 73, 73, 73, 1, 70, 2, 3, 2, 74, 74, 70, 74, 74, 74, 1, 70, 2, 3, 2, 75, 76, 76, 70, 76, 76, 76, 1, 70, 2, 3, 13, 77, 78, 79, 80, 70, 12, 81, 10, 11, 10, 81, 9, 81, 10, 11, 82, 83, 84, 84, 81, 84, 84, 84, 9, 81, 10, 11, 10, 85, 85, 81, 85, 85, 85, 9, 81, 10, 11, 10, 86, 87, 87, 81, 87, 87, 87, 9, 81, 10, 11, 18, 77, 78, 79, 80, 81, 12, 81, 10, 11, 18, 78, 81, 12, 81, 10, 11, 10, 88, 88, 81, 88, 9, 81, 10, 11, 10, 89, 90, 89, 81, 89, 9, 91, 91, 81, 10, 11, 92, 91, 91, 91, 91, 81, 91, 91, 91, 91, 9, 19, 19, 81, 10, 11, 20, 19, 19, 19, 21, 22, 19, 81, 19, 19, 19, 19, 9, 19, 19, 81, 10, 11, 20, 19, 19, 19, 93, 21, 22, 19, 81, 19, 19, 19, 19, 9, 19, 19, 81, 10, 11, 20, 19, 19, 19, 94, 21, 22, 19, 81, 19, 19, 19, 19, 9, 19, 19, 81, 10, 11, 20, 95, 19, 19, 19, 21, 22, 19, 81, 19, 19, 19, 19, 9, 19, 19, 81, 10, 11, 20, 19, 95, 96, 19, 95, 95, 95, 97, 22, 19, 81, 95, 19, 95, 19, 95, 19, 95, 9, 81, 10, 11, 10, 96, 19, 96, 96, 96, 96, 81, 96, 96, 96, 96, 9, 19, 19, 81, 10, 11, 20, 19, 95, 96, 19, 95, 95, 95, 98, 97, 22, 19, 81, 95, 19, 95, 19, 95, 19, 95, 9, 19, 19, 81, 10, 11, 20, 19, 95, 96, 19, 95, 95, 95, 99, 97, 22, 19, 81, 95, 19, 95, 19, 95, 19, 95, 9, 19, 19, 81, 10, 11, 20, 19, 19, 96, 19, 95, 95, 95, 97, 22, 19, 81, 95, 19, 95, 95, 19, 95, 19, 95, 9, 81, 10, 11, 14, 15, 16, 17, 17, 81, 17, 17, 17, 9, 70, 2, 3, 4, 5, 6, 7, 7, 70, 7, 7, 7, 1, 70, 2, 3, 2, 100, 100, 70, 100, 1, 70, 2, 3, 2, 101, 102, 101, 70, 101, 1, 103, 103, 70, 2, 3, 104, 103, 103, 103, 103, 70, 103, 103, 103, 103, 1, 23, 23, 70, 2, 3, 24, 23, 23, 23, 25, 26, 23, 70, 23, 23, 23, 23, 1, 23, 23, 70, 2, 3, 24, 23, 23, 23, 105, 25, 26, 23, 70, 23, 23, 23, 23, 1, 23, 23, 70, 2, 3, 24, 23, 23, 23, 106, 25, 26, 23, 70, 23, 23, 23, 23, 1, 23, 23, 70, 2, 3, 24, 107, 23, 23, 23, 25, 26, 23, 70, 23, 23, 23, 23, 1, 23, 23, 70, 2, 3, 24, 23, 107, 108, 23, 107, 107, 107, 109, 26, 23, 70, 107, 23, 107, 23, 107, 23, 107, 1, 70, 2, 3, 2, 108, 23, 108, 108, 108, 108, 70, 108, 108, 108, 108, 1, 23, 23, 70, 2, 3, 24, 23, 107, 108, 23, 107, 107, 107, 110, 109, 26, 23, 70, 107, 23, 107, 23, 107, 23, 107, 1, 23, 23, 70, 2, 3, 24, 23, 107, 108, 23, 107, 107, 107, 111, 109, 26, 23, 70, 107, 23, 107, 23, 107, 23, 107, 1, 23, 23, 70, 2, 3, 24, 23, 23, 108, 23, 107, 107, 107, 109, 26, 23, 70, 107, 23, 107, 107, 23, 107, 23, 107, 1, 112, 113, 114, 28, 115, 42, 43, 42, 115, 41, 115, 42, 43, 116, 117, 118, 118, 115, 118, 118, 118, 41, 115, 42, 43, 42, 119, 119, 115, 119, 119, 119, 41, 115, 42, 43, 42, 120, 121, 121, 115, 121, 121, 121, 41, 115, 42, 43, 42, 37, 38, 39, 115, 36, 115, 42, 43, 42, 122, 122, 115, 122, 41, 115, 42, 43, 42, 123, 124, 123, 115, 123, 41, 125, 125, 115, 42, 43, 126, 125, 125, 125, 125, 115, 125, 125, 125, 125, 41, 48, 48, 115, 42, 43, 49, 48, 48, 48, 50, 51, 48, 115, 48, 48, 48, 48, 41, 48, 48, 115, 42, 43, 49, 48, 48, 48, 127, 50, 51, 48, 115, 48, 48, 48, 48, 41, 48, 48, 115, 42, 43, 49, 48, 48, 48, 128, 50, 51, 48, 115, 48, 48, 48, 48, 41, 48, 48, 115, 42, 43, 49, 129, 48, 48, 48, 50, 51, 48, 115, 48, 48, 48, 48, 41, 48, 48, 115, 42, 43, 49, 48, 129, 130, 48, 129, 129, 129, 131, 51, 48, 115, 129, 48, 129, 48, 129, 48, 129, 41, 115, 42, 43, 42, 130, 48, 130, 130, 130, 130, 115, 130, 130, 130, 130, 41, 48, 48, 115, 42, 43, 49, 48, 129, 130, 48, 129, 129, 129, 132, 131, 51, 48, 115, 129, 48, 129, 48, 129, 48, 129, 41, 48, 48, 115, 42, 43, 49, 48, 129, 130, 48, 129, 129, 129, 133, 131, 51, 48, 115, 129, 48, 129, 48, 129, 48, 129, 41, 48, 48, 115, 42, 43, 49, 48, 48, 130, 48, 129, 129, 129, 131, 51, 48, 115, 129, 48, 129, 129, 48, 129, 48, 129, 41, 115, 42, 43, 44, 45, 46, 47, 47, 115, 47, 47, 47, 41, 0 }; static const char _redcloth_attributes_trans_targs[] = { 32, 33, 1, 2, 3, 35, 37, 57, 32, 38, 4, 5, 38, 6, 7, 40, 42, 56, 8, 47, 9, 48, 42, 61, 10, 62, 37, 12, 0, 13, 12, 13, 15, 14, 15, 14, 71, 72, 76, 78, 70, 71, 16, 17, 18, 73, 75, 88, 79, 19, 80, 75, 21, 21, 15, 23, 23, 24, 15, 25, 26, 27, 28, 29, 30, 31, 33, 34, 58, 60, 32, 3, 35, 57, 36, 37, 36, 39, 43, 44, 46, 32, 7, 40, 56, 41, 42, 41, 45, 45, 42, 47, 9, 49, 50, 51, 52, 53, 54, 55, 59, 59, 37, 61, 10, 63, 64, 65, 66, 67, 68, 69, 11, 20, 22, 70, 18, 73, 88, 74, 75, 74, 77, 77, 75, 79, 19, 81, 82, 83, 84, 85, 86, 87 }; static const char _redcloth_attributes_trans_actions[] = { 23, 17, 0, 0, 0, 40, 40, 17, 21, 17, 0, 0, 31, 0, 0, 40, 40, 17, 0, 17, 0, 17, 49, 17, 0, 17, 49, 1, 0, 0, 0, 5, 5, 1, 7, 0, 31, 31, 31, 31, 19, 17, 0, 0, 0, 40, 40, 17, 17, 0, 17, 49, 1, 0, 9, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 28, 1, 17, 37, 37, 43, 17, 31, 31, 31, 31, 52, 1, 17, 37, 37, 43, 17, 37, 17, 46, 37, 1, 17, 17, 17, 17, 17, 17, 17, 37, 17, 46, 37, 1, 17, 17, 17, 17, 17, 17, 17, 3, 3, 3, 25, 1, 17, 37, 37, 43, 17, 37, 17, 46, 37, 1, 17, 17, 17, 17, 17, 17, 17 }; static const char _redcloth_attributes_to_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static const char _redcloth_attributes_from_state_actions[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static const short _redcloth_attributes_eof_trans[] = { 0, 1, 1, 1, 9, 9, 1, 9, 9, 9, 1, 0, 0, 0, 0, 0, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 71, 71, 71, 71, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116 }; static const int redcloth_attributes_start = 32; static const int redcloth_attributes_error = 0; static const int redcloth_attributes_en_inline = 70; static const int redcloth_attributes_en_link_says = 32; #line 19 "ragel/redcloth_attributes.c.rl" VALUE redcloth_attribute_parser(machine, self, p, pe) int machine; VALUE self; char *p, *pe; { int cs, act; char *ts = 0, *te = 0, *reg = 0, *bck = NULL, *attr_reg = NULL, *eof = NULL; VALUE regs = rb_hash_new(); VALUE attr_regs = rb_hash_new(); #line 554 "ext/redcloth_scan/redcloth_attributes.c" { cs = redcloth_attributes_start; ts = 0; te = 0; act = 0; } #line 33 "ragel/redcloth_attributes.c.rl" cs = machine; #line 567 "ext/redcloth_scan/redcloth_attributes.c" { int _klen; unsigned int _trans; const char *_acts; unsigned int _nacts; const char *_keys; if ( p == pe ) goto _test_eof; if ( cs == 0 ) goto _out; _resume: _acts = _redcloth_attributes_actions + _redcloth_attributes_from_state_actions[cs]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 12: #line 1 "NONE" {ts = p;} break; #line 588 "ext/redcloth_scan/redcloth_attributes.c" } } _keys = _redcloth_attributes_trans_keys + _redcloth_attributes_key_offsets[cs]; _trans = _redcloth_attributes_index_offsets[cs]; _klen = _redcloth_attributes_single_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_mid; const char *_upper = _keys + _klen - 1; while (1) { if ( _upper < _lower ) break; _mid = _lower + ((_upper-_lower) >> 1); if ( (*p) < *_mid ) _upper = _mid - 1; else if ( (*p) > *_mid ) _lower = _mid + 1; else { _trans += (unsigned int)(_mid - _keys); goto _match; } } _keys += _klen; _trans += _klen; } _klen = _redcloth_attributes_range_lengths[cs]; if ( _klen > 0 ) { const char *_lower = _keys; const char *_mid; const char *_upper = _keys + (_klen<<1) - 2; while (1) { if ( _upper < _lower ) break; _mid = _lower + (((_upper-_lower) >> 1) & ~1); if ( (*p) < _mid[0] ) _upper = _mid - 2; else if ( (*p) > _mid[1] ) _lower = _mid + 2; else { _trans += (unsigned int)((_mid - _keys)>>1); goto _match; } } _trans += _klen; } _match: _trans = _redcloth_attributes_indicies[_trans]; _eof_trans: cs = _redcloth_attributes_trans_targs[_trans]; if ( _redcloth_attributes_trans_actions[_trans] == 0 ) goto _again; _acts = _redcloth_attributes_actions + _redcloth_attributes_trans_actions[_trans]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 0: #line 5 "ragel/redcloth_common.rl" { MARK(); } break; case 1: #line 6 "ragel/redcloth_common.rl" { MARK_B(); } break; case 2: #line 7 "ragel/redcloth_common.rl" { MARK_ATTR(); } break; case 3: #line 9 "ragel/redcloth_common.rl" { STORE("text"); } break; case 4: #line 10 "ragel/redcloth_common.rl" { CLEAR_REGS(); RESET_REG(); } break; case 5: #line 35 "ragel/redcloth_common.rl" { STORE_ATTR("class"); } break; case 6: #line 36 "ragel/redcloth_common.rl" { STORE_ATTR("id"); } break; case 7: #line 38 "ragel/redcloth_common.rl" { STORE_ATTR("lang"); } break; case 8: #line 39 "ragel/redcloth_common.rl" { STORE_ATTR("style"); } break; case 9: #line 20 "ragel/redcloth_attributes.rl" { STORE("name"); } break; case 10: #line 21 "ragel/redcloth_attributes.rl" { STORE_B("name_without_attributes"); } break; case 13: #line 1 "NONE" {te = p+1;} break; case 14: #line 16 "ragel/redcloth_attributes.rl" {te = p;p--;{ SET_ATTRIBUTES(); }} break; case 15: #line 16 "ragel/redcloth_attributes.rl" {{p = ((te))-1;}{ SET_ATTRIBUTES(); }} break; case 16: #line 25 "ragel/redcloth_attributes.rl" {te = p;p--;{ SET_ATTRIBUTES(); }} break; case 17: #line 26 "ragel/redcloth_attributes.rl" {te = p;p--;{ SET_ATTRIBUTE("name_without_attributes", "name"); }} break; case 18: #line 25 "ragel/redcloth_attributes.rl" {{p = ((te))-1;}{ SET_ATTRIBUTES(); }} break; case 19: #line 26 "ragel/redcloth_attributes.rl" {{p = ((te))-1;}{ SET_ATTRIBUTE("name_without_attributes", "name"); }} break; #line 726 "ext/redcloth_scan/redcloth_attributes.c" } } _again: _acts = _redcloth_attributes_actions + _redcloth_attributes_to_state_actions[cs]; _nacts = (unsigned int) *_acts++; while ( _nacts-- > 0 ) { switch ( *_acts++ ) { case 11: #line 1 "NONE" {ts = 0;} break; #line 739 "ext/redcloth_scan/redcloth_attributes.c" } } if ( cs == 0 ) goto _out; if ( ++p != pe ) goto _resume; _test_eof: {} if ( p == eof ) { if ( _redcloth_attributes_eof_trans[cs] > 0 ) { _trans = _redcloth_attributes_eof_trans[cs] - 1; goto _eof_trans; } } _out: {} } #line 37 "ragel/redcloth_attributes.c.rl" return regs; } VALUE redcloth_attributes(self, str) VALUE self, str; { StringValue(str); int cs = redcloth_attributes_en_inline; return redcloth_attribute_parser(cs, self, RSTRING_PTR(str), RSTRING_PTR(str) + RSTRING_LEN(str) + 1); } VALUE redcloth_link_attributes(self, str) VALUE self, str; { StringValue(str); int cs = redcloth_attributes_en_link_says; return redcloth_attribute_parser(cs, self, RSTRING_PTR(str), RSTRING_PTR(str) + RSTRING_LEN(str) + 1); }