isomorfeus-ferret 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +612 -0
  3. data/README.md +44 -0
  4. data/ext/isomorfeus_ferret_ext/benchmark.c +223 -0
  5. data/ext/isomorfeus_ferret_ext/benchmark.h +45 -0
  6. data/ext/isomorfeus_ferret_ext/benchmarks_all.h +25 -0
  7. data/ext/isomorfeus_ferret_ext/bm_bitvector.c +123 -0
  8. data/ext/isomorfeus_ferret_ext/bm_hash.c +118 -0
  9. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +40 -0
  10. data/ext/isomorfeus_ferret_ext/bm_store.c +93 -0
  11. data/ext/isomorfeus_ferret_ext/email.rl +21 -0
  12. data/ext/isomorfeus_ferret_ext/extconf.rb +5 -0
  13. data/ext/isomorfeus_ferret_ext/fio_tmpfile.h +53 -0
  14. data/ext/isomorfeus_ferret_ext/frb_analysis.c +2577 -0
  15. data/ext/isomorfeus_ferret_ext/frb_index.c +3457 -0
  16. data/ext/isomorfeus_ferret_ext/frb_lang.c +9 -0
  17. data/ext/isomorfeus_ferret_ext/frb_lang.h +17 -0
  18. data/ext/isomorfeus_ferret_ext/frb_qparser.c +629 -0
  19. data/ext/isomorfeus_ferret_ext/frb_search.c +4460 -0
  20. data/ext/isomorfeus_ferret_ext/frb_store.c +515 -0
  21. data/ext/isomorfeus_ferret_ext/frb_threading.h +30 -0
  22. data/ext/isomorfeus_ferret_ext/frb_utils.c +1127 -0
  23. data/ext/isomorfeus_ferret_ext/frt_analysis.c +1644 -0
  24. data/ext/isomorfeus_ferret_ext/frt_analysis.h +247 -0
  25. data/ext/isomorfeus_ferret_ext/frt_array.c +124 -0
  26. data/ext/isomorfeus_ferret_ext/frt_array.h +54 -0
  27. data/ext/isomorfeus_ferret_ext/frt_bitvector.c +95 -0
  28. data/ext/isomorfeus_ferret_ext/frt_bitvector.h +586 -0
  29. data/ext/isomorfeus_ferret_ext/frt_compound_io.c +374 -0
  30. data/ext/isomorfeus_ferret_ext/frt_config.h +44 -0
  31. data/ext/isomorfeus_ferret_ext/frt_document.c +134 -0
  32. data/ext/isomorfeus_ferret_ext/frt_document.h +52 -0
  33. data/ext/isomorfeus_ferret_ext/frt_except.c +95 -0
  34. data/ext/isomorfeus_ferret_ext/frt_except.h +188 -0
  35. data/ext/isomorfeus_ferret_ext/frt_field_index.c +233 -0
  36. data/ext/isomorfeus_ferret_ext/frt_field_index.h +42 -0
  37. data/ext/isomorfeus_ferret_ext/frt_filter.c +157 -0
  38. data/ext/isomorfeus_ferret_ext/frt_fs_store.c +502 -0
  39. data/ext/isomorfeus_ferret_ext/frt_global.c +427 -0
  40. data/ext/isomorfeus_ferret_ext/frt_global.h +290 -0
  41. data/ext/isomorfeus_ferret_ext/frt_hash.c +518 -0
  42. data/ext/isomorfeus_ferret_ext/frt_hash.h +466 -0
  43. data/ext/isomorfeus_ferret_ext/frt_hashset.c +191 -0
  44. data/ext/isomorfeus_ferret_ext/frt_hashset.h +206 -0
  45. data/ext/isomorfeus_ferret_ext/frt_helper.c +62 -0
  46. data/ext/isomorfeus_ferret_ext/frt_helper.h +13 -0
  47. data/ext/isomorfeus_ferret_ext/frt_ind.c +353 -0
  48. data/ext/isomorfeus_ferret_ext/frt_ind.h +54 -0
  49. data/ext/isomorfeus_ferret_ext/frt_index.c +6377 -0
  50. data/ext/isomorfeus_ferret_ext/frt_index.h +880 -0
  51. data/ext/isomorfeus_ferret_ext/frt_lang.c +104 -0
  52. data/ext/isomorfeus_ferret_ext/frt_lang.h +44 -0
  53. data/ext/isomorfeus_ferret_ext/frt_mempool.c +87 -0
  54. data/ext/isomorfeus_ferret_ext/frt_mempool.h +33 -0
  55. data/ext/isomorfeus_ferret_ext/frt_multimapper.c +349 -0
  56. data/ext/isomorfeus_ferret_ext/frt_multimapper.h +52 -0
  57. data/ext/isomorfeus_ferret_ext/frt_posh.c +1006 -0
  58. data/ext/isomorfeus_ferret_ext/frt_posh.h +973 -0
  59. data/ext/isomorfeus_ferret_ext/frt_priorityqueue.c +147 -0
  60. data/ext/isomorfeus_ferret_ext/frt_priorityqueue.h +147 -0
  61. data/ext/isomorfeus_ferret_ext/frt_q_boolean.c +1612 -0
  62. data/ext/isomorfeus_ferret_ext/frt_q_const_score.c +157 -0
  63. data/ext/isomorfeus_ferret_ext/frt_q_filtered_query.c +209 -0
  64. data/ext/isomorfeus_ferret_ext/frt_q_fuzzy.c +281 -0
  65. data/ext/isomorfeus_ferret_ext/frt_q_match_all.c +147 -0
  66. data/ext/isomorfeus_ferret_ext/frt_q_multi_term.c +672 -0
  67. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +3084 -0
  68. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +1182 -0
  69. data/ext/isomorfeus_ferret_ext/frt_q_prefix.c +98 -0
  70. data/ext/isomorfeus_ferret_ext/frt_q_range.c +665 -0
  71. data/ext/isomorfeus_ferret_ext/frt_q_span.c +2386 -0
  72. data/ext/isomorfeus_ferret_ext/frt_q_term.c +311 -0
  73. data/ext/isomorfeus_ferret_ext/frt_q_wildcard.c +166 -0
  74. data/ext/isomorfeus_ferret_ext/frt_ram_store.c +460 -0
  75. data/ext/isomorfeus_ferret_ext/frt_scanner.c +899 -0
  76. data/ext/isomorfeus_ferret_ext/frt_scanner.h +28 -0
  77. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +6705 -0
  78. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +4419 -0
  79. data/ext/isomorfeus_ferret_ext/frt_search.c +1824 -0
  80. data/ext/isomorfeus_ferret_ext/frt_search.h +924 -0
  81. data/ext/isomorfeus_ferret_ext/frt_similarity.c +150 -0
  82. data/ext/isomorfeus_ferret_ext/frt_similarity.h +79 -0
  83. data/ext/isomorfeus_ferret_ext/frt_sort.c +796 -0
  84. data/ext/isomorfeus_ferret_ext/frt_stopwords.c +395 -0
  85. data/ext/isomorfeus_ferret_ext/frt_store.c +680 -0
  86. data/ext/isomorfeus_ferret_ext/frt_store.h +789 -0
  87. data/ext/isomorfeus_ferret_ext/frt_term_vectors.c +72 -0
  88. data/ext/isomorfeus_ferret_ext/frt_threading.h +23 -0
  89. data/ext/isomorfeus_ferret_ext/frt_win32.h +54 -0
  90. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +409 -0
  91. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +95 -0
  92. data/ext/isomorfeus_ferret_ext/libstemmer.c +93 -0
  93. data/ext/isomorfeus_ferret_ext/libstemmer.h +73 -0
  94. data/ext/isomorfeus_ferret_ext/q_parser.y +1366 -0
  95. data/ext/isomorfeus_ferret_ext/scanner.h +28 -0
  96. data/ext/isomorfeus_ferret_ext/scanner.in +43 -0
  97. data/ext/isomorfeus_ferret_ext/scanner.rl +84 -0
  98. data/ext/isomorfeus_ferret_ext/scanner_mb.rl +200 -0
  99. data/ext/isomorfeus_ferret_ext/scanner_utf8.rl +85 -0
  100. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +324 -0
  101. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +7 -0
  102. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +610 -0
  103. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +6 -0
  104. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +1104 -0
  105. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +6 -0
  106. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +749 -0
  107. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +7 -0
  108. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +1233 -0
  109. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +6 -0
  110. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +490 -0
  111. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +6 -0
  112. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1217 -0
  113. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.h +7 -0
  114. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +1052 -0
  115. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +6 -0
  116. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +283 -0
  117. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +6 -0
  118. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +735 -0
  119. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +6 -0
  120. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +1003 -0
  121. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +7 -0
  122. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +1079 -0
  123. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +6 -0
  124. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +293 -0
  125. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +6 -0
  126. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +984 -0
  127. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +6 -0
  128. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +686 -0
  129. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +6 -0
  130. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +325 -0
  131. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +6 -0
  132. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +620 -0
  133. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +6 -0
  134. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +1111 -0
  135. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +6 -0
  136. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +754 -0
  137. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +6 -0
  138. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +1242 -0
  139. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +6 -0
  140. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +495 -0
  141. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +6 -0
  142. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +1220 -0
  143. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +6 -0
  144. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +1059 -0
  145. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +6 -0
  146. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +285 -0
  147. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +6 -0
  148. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +741 -0
  149. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +6 -0
  150. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +1009 -0
  151. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +6 -0
  152. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +990 -0
  153. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +6 -0
  154. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +680 -0
  155. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +6 -0
  156. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +1083 -0
  157. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +6 -0
  158. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +294 -0
  159. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +6 -0
  160. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +2191 -0
  161. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +6 -0
  162. data/ext/isomorfeus_ferret_ext/stem_api.c +66 -0
  163. data/ext/isomorfeus_ferret_ext/stem_api.h +26 -0
  164. data/ext/isomorfeus_ferret_ext/stem_header.h +57 -0
  165. data/ext/isomorfeus_ferret_ext/stem_modules.h +190 -0
  166. data/ext/isomorfeus_ferret_ext/stem_modules.txt +50 -0
  167. data/ext/isomorfeus_ferret_ext/stem_utilities.c +478 -0
  168. data/ext/isomorfeus_ferret_ext/test.c +850 -0
  169. data/ext/isomorfeus_ferret_ext/test.h +416 -0
  170. data/ext/isomorfeus_ferret_ext/test_1710.c +63 -0
  171. data/ext/isomorfeus_ferret_ext/test_analysis.c +1221 -0
  172. data/ext/isomorfeus_ferret_ext/test_array.c +272 -0
  173. data/ext/isomorfeus_ferret_ext/test_bitvector.c +600 -0
  174. data/ext/isomorfeus_ferret_ext/test_compound_io.c +170 -0
  175. data/ext/isomorfeus_ferret_ext/test_document.c +156 -0
  176. data/ext/isomorfeus_ferret_ext/test_except.c +244 -0
  177. data/ext/isomorfeus_ferret_ext/test_fields.c +522 -0
  178. data/ext/isomorfeus_ferret_ext/test_file_deleter.c +185 -0
  179. data/ext/isomorfeus_ferret_ext/test_filter.c +331 -0
  180. data/ext/isomorfeus_ferret_ext/test_fs_store.c +25 -0
  181. data/ext/isomorfeus_ferret_ext/test_global.c +299 -0
  182. data/ext/isomorfeus_ferret_ext/test_hash.c +485 -0
  183. data/ext/isomorfeus_ferret_ext/test_hashset.c +288 -0
  184. data/ext/isomorfeus_ferret_ext/test_helper.c +47 -0
  185. data/ext/isomorfeus_ferret_ext/test_highlighter.c +548 -0
  186. data/ext/isomorfeus_ferret_ext/test_index.c +2323 -0
  187. data/ext/isomorfeus_ferret_ext/test_lang.c +74 -0
  188. data/ext/isomorfeus_ferret_ext/test_mempool.c +102 -0
  189. data/ext/isomorfeus_ferret_ext/test_multimapper.c +64 -0
  190. data/ext/isomorfeus_ferret_ext/test_priorityqueue.c +213 -0
  191. data/ext/isomorfeus_ferret_ext/test_q_const_score.c +84 -0
  192. data/ext/isomorfeus_ferret_ext/test_q_filtered.c +61 -0
  193. data/ext/isomorfeus_ferret_ext/test_q_fuzzy.c +241 -0
  194. data/ext/isomorfeus_ferret_ext/test_q_parser.c +464 -0
  195. data/ext/isomorfeus_ferret_ext/test_q_span.c +575 -0
  196. data/ext/isomorfeus_ferret_ext/test_ram_store.c +77 -0
  197. data/ext/isomorfeus_ferret_ext/test_search.c +1874 -0
  198. data/ext/isomorfeus_ferret_ext/test_segments.c +167 -0
  199. data/ext/isomorfeus_ferret_ext/test_similarity.c +25 -0
  200. data/ext/isomorfeus_ferret_ext/test_sort.c +333 -0
  201. data/ext/isomorfeus_ferret_ext/test_store.c +591 -0
  202. data/ext/isomorfeus_ferret_ext/test_store.h +3 -0
  203. data/ext/isomorfeus_ferret_ext/test_term.c +351 -0
  204. data/ext/isomorfeus_ferret_ext/test_term_vectors.c +373 -0
  205. data/ext/isomorfeus_ferret_ext/test_test.c +83 -0
  206. data/ext/isomorfeus_ferret_ext/test_threading.c +188 -0
  207. data/ext/isomorfeus_ferret_ext/testhelper.c +561 -0
  208. data/ext/isomorfeus_ferret_ext/testhelper.h +25 -0
  209. data/ext/isomorfeus_ferret_ext/tests_all.h +87 -0
  210. data/ext/isomorfeus_ferret_ext/uchar-ucs4.rl +1854 -0
  211. data/ext/isomorfeus_ferret_ext/uchar-utf8.rl +1999 -0
  212. data/ext/isomorfeus_ferret_ext/url.rl +27 -0
  213. data/ext/isomorfeus_ferret_ext/word_list.h +15156 -0
  214. data/lib/isomorfeus/ferret/document.rb +132 -0
  215. data/lib/isomorfeus/ferret/field_symbol.rb +85 -0
  216. data/lib/isomorfeus/ferret/index/field_infos.rb +48 -0
  217. data/lib/isomorfeus/ferret/index/index.rb +970 -0
  218. data/lib/isomorfeus/ferret/monitor.rb +323 -0
  219. data/lib/isomorfeus/ferret/stdlib_patches.rb +151 -0
  220. data/lib/isomorfeus/ferret/version.rb +5 -0
  221. data/lib/isomorfeus-ferret.rb +8 -0
  222. metadata +307 -0
@@ -0,0 +1,899 @@
1
+
2
+ #line 1 "src/scanner.rl"
3
+ /* scanner.rl -*-C-*- */
4
+ #include <ctype.h>
5
+ #include <stdio.h>
6
+ #include <stdlib.h>
7
+ #include <string.h>
8
+ #include <unistd.h>
9
+ #include "frt_global.h"
10
+
11
+ #define RET goto ret;
12
+
13
+ #define STRIP(c) do { \
14
+ strip_char = c; \
15
+ goto ret; \
16
+ } while(0)
17
+
18
+
19
+ #line 28 "src/scanner.rl"
20
+
21
+
22
+
23
+ #line 25 "src/scanner.c"
24
+ static const char _StdTok_actions[] = {
25
+ 0, 1, 0, 1, 1, 1, 2, 1,
26
+ 3, 1, 4, 1, 5, 1, 17, 1,
27
+ 19, 1, 20, 1, 21, 1, 22, 1,
28
+ 23, 1, 24, 1, 25, 1, 26, 1,
29
+ 27, 1, 28, 1, 29, 1, 30, 1,
30
+ 31, 1, 32, 1, 33, 1, 34, 1,
31
+ 35, 1, 36, 1, 37, 2, 1, 18,
32
+ 2, 5, 6, 2, 5, 7, 2, 5,
33
+ 8, 2, 5, 9, 2, 5, 10, 2,
34
+ 5, 11, 2, 5, 12, 2, 5, 13,
35
+ 2, 5, 14, 2, 5, 15, 2, 5,
36
+ 16, 3, 5, 1, 12
37
+ };
38
+
39
+ static const short _StdTok_key_offsets[] = {
40
+ 0, 0, 0, 14, 28, 43, 57, 69,
41
+ 75, 85, 86, 92, 107, 128, 149, 170,
42
+ 197, 218, 220, 242, 264, 286, 308, 330,
43
+ 352, 374, 396, 418, 439, 466, 467, 474,
44
+ 501, 502, 515, 515, 537, 551, 565, 575,
45
+ 591, 607, 623, 646, 668, 671, 694, 717,
46
+ 740, 763, 787, 810, 833, 856, 878, 900,
47
+ 921, 929, 952, 977, 996, 1017, 1038, 1057,
48
+ 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232,
49
+ 1254, 1279, 1295, 1314, 1334, 1359, 1386, 1412,
50
+ 1438, 1463, 1476, 1502, 1528, 1554, 1580
51
+ };
52
+
53
+ static const unsigned char _StdTok_trans_keys[] = {
54
+ 33u, 46u, 61u, 64u, 35u, 39u, 42u, 43u,
55
+ 45u, 57u, 63u, 90u, 94u, 126u, 33u, 45u,
56
+ 61u, 63u, 35u, 39u, 42u, 43u, 47u, 57u,
57
+ 65u, 90u, 94u, 126u, 33u, 45u, 61u, 63u,
58
+ 91u, 35u, 39u, 42u, 43u, 47u, 57u, 65u,
59
+ 90u, 94u, 126u, 33u, 45u, 61u, 63u, 35u,
60
+ 39u, 42u, 43u, 47u, 57u, 65u, 90u, 94u,
61
+ 126u, 92u, 93u, 1u, 8u, 11u, 12u, 14u,
62
+ 31u, 33u, 90u, 94u, 127u, 1u, 9u, 11u,
63
+ 12u, 14u, 127u, 34u, 92u, 1u, 8u, 11u,
64
+ 12u, 14u, 31u, 33u, 127u, 64u, 1u, 9u,
65
+ 11u, 12u, 14u, 127u, 33u, 45u, 47u, 61u,
66
+ 63u, 35u, 39u, 42u, 43u, 48u, 57u, 65u,
67
+ 90u, 94u, 126u, 33u, 45u, 46u, 47u, 61u,
68
+ 63u, 64u, 35u, 39u, 42u, 43u, 48u, 57u,
69
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
70
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 35u,
71
+ 39u, 42u, 43u, 48u, 57u, 65u, 90u, 94u,
72
+ 96u, 97u, 122u, 123u, 126u, 33u, 45u, 46u,
73
+ 47u, 61u, 63u, 64u, 35u, 39u, 42u, 43u,
74
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
75
+ 123u, 126u, 33u, 45u, 47u, 61u, 63u, 98u,
76
+ 99u, 101u, 103u, 105u, 109u, 110u, 111u, 35u,
77
+ 39u, 42u, 43u, 48u, 57u, 65u, 90u, 94u,
78
+ 96u, 97u, 122u, 123u, 126u, 33u, 45u, 46u,
79
+ 47u, 61u, 63u, 64u, 35u, 39u, 42u, 43u,
80
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
81
+ 123u, 126u, 48u, 57u, 33u, 45u, 46u, 47u,
82
+ 61u, 63u, 64u, 105u, 35u, 39u, 42u, 43u,
83
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
84
+ 123u, 126u, 33u, 45u, 46u, 47u, 61u, 63u,
85
+ 64u, 111u, 35u, 39u, 42u, 43u, 48u, 57u,
86
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
87
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 100u,
88
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
89
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
90
+ 46u, 47u, 61u, 63u, 64u, 111u, 35u, 39u,
91
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
92
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
93
+ 61u, 63u, 64u, 110u, 35u, 39u, 42u, 43u,
94
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
95
+ 123u, 126u, 33u, 45u, 46u, 47u, 61u, 63u,
96
+ 64u, 111u, 35u, 39u, 42u, 43u, 48u, 57u,
97
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
98
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 105u,
99
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
100
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
101
+ 46u, 47u, 61u, 63u, 64u, 101u, 35u, 39u,
102
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
103
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
104
+ 61u, 63u, 64u, 114u, 35u, 39u, 42u, 43u,
105
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
106
+ 123u, 126u, 33u, 46u, 61u, 63u, 64u, 35u,
107
+ 39u, 42u, 43u, 45u, 47u, 48u, 57u, 65u,
108
+ 90u, 94u, 96u, 97u, 122u, 123u, 126u, 33u,
109
+ 45u, 47u, 61u, 63u, 98u, 99u, 101u, 103u,
110
+ 105u, 109u, 110u, 111u, 35u, 39u, 42u, 43u,
111
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
112
+ 123u, 126u, 47u, 95u, 44u, 58u, 64u, 90u,
113
+ 97u, 122u, 33u, 45u, 47u, 61u, 63u, 98u,
114
+ 99u, 101u, 103u, 105u, 109u, 110u, 111u, 35u,
115
+ 39u, 42u, 43u, 48u, 57u, 65u, 90u, 94u,
116
+ 96u, 97u, 122u, 123u, 126u, 47u, 45u, 47u,
117
+ 58u, 64u, 95u, 44u, 46u, 48u, 57u, 65u,
118
+ 90u, 97u, 122u, 0u, 34u, 42u, 43u, 45u,
119
+ 47u, 61u, 63u, 102u, 104u, 33u, 39u, 48u,
120
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
121
+ 126u, 33u, 46u, 61u, 64u, 35u, 39u, 42u,
122
+ 43u, 45u, 57u, 63u, 90u, 94u, 126u, 33u,
123
+ 46u, 61u, 63u, 35u, 39u, 42u, 43u, 45u,
124
+ 57u, 65u, 90u, 94u, 126u, 34u, 92u, 1u,
125
+ 8u, 11u, 12u, 14u, 31u, 33u, 127u, 33u,
126
+ 46u, 61u, 64u, 35u, 39u, 42u, 43u, 45u,
127
+ 47u, 48u, 57u, 63u, 90u, 94u, 126u, 33u,
128
+ 46u, 61u, 64u, 35u, 39u, 42u, 43u, 45u,
129
+ 47u, 48u, 57u, 63u, 90u, 94u, 126u, 33u,
130
+ 46u, 61u, 64u, 35u, 39u, 42u, 43u, 45u,
131
+ 47u, 48u, 57u, 63u, 90u, 94u, 126u, 33u,
132
+ 45u, 46u, 47u, 58u, 61u, 63u, 64u, 95u,
133
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
134
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
135
+ 46u, 47u, 58u, 61u, 63u, 64u, 35u, 39u,
136
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
137
+ 97u, 122u, 123u, 126u, 47u, 48u, 57u, 33u,
138
+ 45u, 46u, 47u, 58u, 61u, 63u, 64u, 122u,
139
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
140
+ 94u, 96u, 97u, 121u, 123u, 126u, 33u, 45u,
141
+ 46u, 47u, 58u, 61u, 63u, 64u, 109u, 35u,
142
+ 39u, 42u, 43u, 48u, 57u, 65u, 90u, 94u,
143
+ 96u, 97u, 122u, 123u, 126u, 33u, 45u, 46u,
144
+ 47u, 58u, 61u, 63u, 64u, 117u, 35u, 39u,
145
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
146
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
147
+ 58u, 61u, 63u, 64u, 118u, 35u, 39u, 42u,
148
+ 43u, 48u, 57u, 65u, 90u, 94u, 96u, 97u,
149
+ 122u, 123u, 126u, 33u, 45u, 46u, 47u, 58u,
150
+ 61u, 63u, 64u, 102u, 116u, 35u, 39u, 42u,
151
+ 43u, 48u, 57u, 65u, 90u, 94u, 96u, 97u,
152
+ 122u, 123u, 126u, 33u, 45u, 46u, 47u, 58u,
153
+ 61u, 63u, 64u, 108u, 35u, 39u, 42u, 43u,
154
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
155
+ 123u, 126u, 33u, 45u, 46u, 47u, 58u, 61u,
156
+ 63u, 64u, 116u, 35u, 39u, 42u, 43u, 48u,
157
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
158
+ 126u, 33u, 45u, 46u, 47u, 58u, 61u, 63u,
159
+ 64u, 103u, 35u, 39u, 42u, 43u, 48u, 57u,
160
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
161
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 95u,
162
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
163
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
164
+ 46u, 47u, 61u, 63u, 64u, 95u, 35u, 39u,
165
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
166
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
167
+ 61u, 63u, 64u, 35u, 39u, 42u, 43u, 48u,
168
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
169
+ 126u, 47u, 95u, 44u, 58u, 64u, 90u, 97u,
170
+ 122u, 33u, 45u, 46u, 47u, 58u, 61u, 63u,
171
+ 64u, 95u, 35u, 39u, 42u, 43u, 48u, 57u,
172
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
173
+ 33u, 38u, 39u, 45u, 46u, 47u, 58u, 61u,
174
+ 63u, 64u, 95u, 35u, 37u, 42u, 43u, 48u,
175
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
176
+ 126u, 33u, 46u, 61u, 63u, 64u, 35u, 39u,
177
+ 42u, 43u, 45u, 57u, 65u, 90u, 94u, 96u,
178
+ 97u, 122u, 123u, 126u, 33u, 46u, 61u, 63u,
179
+ 64u, 35u, 39u, 42u, 43u, 45u, 47u, 48u,
180
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
181
+ 126u, 33u, 46u, 61u, 63u, 64u, 83u, 115u,
182
+ 35u, 39u, 42u, 43u, 45u, 57u, 65u, 90u,
183
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 46u,
184
+ 61u, 63u, 64u, 35u, 39u, 42u, 43u, 45u,
185
+ 57u, 65u, 90u, 94u, 96u, 97u, 122u, 123u,
186
+ 126u, 33u, 45u, 46u, 47u, 61u, 63u, 64u,
187
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
188
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
189
+ 46u, 47u, 61u, 63u, 64u, 105u, 35u, 39u,
190
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
191
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
192
+ 61u, 63u, 64u, 111u, 35u, 39u, 42u, 43u,
193
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
194
+ 123u, 126u, 33u, 45u, 46u, 47u, 61u, 63u,
195
+ 64u, 100u, 35u, 39u, 42u, 43u, 48u, 57u,
196
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
197
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 111u,
198
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
199
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 45u,
200
+ 46u, 47u, 61u, 63u, 64u, 110u, 35u, 39u,
201
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
202
+ 97u, 122u, 123u, 126u, 33u, 45u, 46u, 47u,
203
+ 61u, 63u, 64u, 105u, 35u, 39u, 42u, 43u,
204
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
205
+ 123u, 126u, 33u, 45u, 46u, 47u, 61u, 63u,
206
+ 64u, 101u, 35u, 39u, 42u, 43u, 48u, 57u,
207
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
208
+ 33u, 45u, 46u, 47u, 61u, 63u, 64u, 114u,
209
+ 35u, 39u, 42u, 43u, 48u, 57u, 65u, 90u,
210
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 38u,
211
+ 39u, 45u, 46u, 47u, 58u, 61u, 63u, 64u,
212
+ 95u, 35u, 37u, 42u, 43u, 48u, 57u, 65u,
213
+ 90u, 94u, 96u, 97u, 122u, 123u, 126u, 33u,
214
+ 46u, 61u, 64u, 83u, 115u, 35u, 39u, 42u,
215
+ 43u, 45u, 57u, 63u, 90u, 94u, 126u, 33u,
216
+ 45u, 61u, 63u, 91u, 35u, 39u, 42u, 43u,
217
+ 47u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
218
+ 123u, 126u, 33u, 46u, 61u, 63u, 35u, 39u,
219
+ 42u, 43u, 45u, 47u, 48u, 57u, 65u, 90u,
220
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 38u,
221
+ 39u, 45u, 46u, 47u, 58u, 61u, 63u, 64u,
222
+ 95u, 35u, 37u, 42u, 43u, 48u, 57u, 65u,
223
+ 90u, 94u, 96u, 97u, 122u, 123u, 126u, 33u,
224
+ 38u, 39u, 45u, 46u, 47u, 58u, 61u, 63u,
225
+ 64u, 95u, 105u, 116u, 35u, 37u, 42u, 43u,
226
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
227
+ 123u, 126u, 33u, 38u, 39u, 45u, 46u, 47u,
228
+ 58u, 61u, 63u, 64u, 95u, 108u, 35u, 37u,
229
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
230
+ 97u, 122u, 123u, 126u, 33u, 38u, 39u, 45u,
231
+ 46u, 47u, 58u, 61u, 63u, 64u, 95u, 101u,
232
+ 35u, 37u, 42u, 43u, 48u, 57u, 65u, 90u,
233
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 38u,
234
+ 39u, 45u, 46u, 47u, 58u, 61u, 63u, 64u,
235
+ 95u, 35u, 37u, 42u, 43u, 48u, 57u, 65u,
236
+ 90u, 94u, 96u, 97u, 122u, 123u, 126u, 45u,
237
+ 47u, 58u, 64u, 95u, 44u, 46u, 48u, 57u,
238
+ 65u, 90u, 97u, 122u, 33u, 38u, 39u, 45u,
239
+ 46u, 47u, 58u, 61u, 63u, 64u, 95u, 112u,
240
+ 35u, 37u, 42u, 43u, 48u, 57u, 65u, 90u,
241
+ 94u, 96u, 97u, 122u, 123u, 126u, 33u, 38u,
242
+ 39u, 45u, 46u, 47u, 58u, 61u, 63u, 64u,
243
+ 95u, 116u, 35u, 37u, 42u, 43u, 48u, 57u,
244
+ 65u, 90u, 94u, 96u, 97u, 122u, 123u, 126u,
245
+ 33u, 38u, 39u, 45u, 46u, 47u, 58u, 61u,
246
+ 63u, 64u, 95u, 116u, 35u, 37u, 42u, 43u,
247
+ 48u, 57u, 65u, 90u, 94u, 96u, 97u, 122u,
248
+ 123u, 126u, 33u, 38u, 39u, 45u, 46u, 47u,
249
+ 58u, 61u, 63u, 64u, 95u, 112u, 35u, 37u,
250
+ 42u, 43u, 48u, 57u, 65u, 90u, 94u, 96u,
251
+ 97u, 122u, 123u, 126u, 33u, 38u, 39u, 45u,
252
+ 46u, 47u, 58u, 61u, 63u, 64u, 95u, 115u,
253
+ 35u, 37u, 42u, 43u, 48u, 57u, 65u, 90u,
254
+ 94u, 96u, 97u, 122u, 123u, 126u, 0
255
+ };
256
+
257
+ static const char _StdTok_single_lengths[] = {
258
+ 0, 0, 4, 4, 5, 4, 2, 0,
259
+ 2, 1, 0, 5, 7, 7, 7, 13,
260
+ 7, 0, 8, 8, 8, 8, 8, 8,
261
+ 8, 8, 8, 5, 13, 1, 1, 13,
262
+ 1, 5, 0, 10, 4, 4, 2, 4,
263
+ 4, 4, 9, 8, 1, 9, 9, 9,
264
+ 9, 10, 9, 9, 9, 8, 8, 7,
265
+ 2, 9, 11, 5, 5, 7, 5, 7,
266
+ 8, 8, 8, 8, 8, 8, 8, 8,
267
+ 11, 6, 5, 4, 11, 13, 12, 12,
268
+ 11, 5, 12, 12, 12, 12, 12
269
+ };
270
+
271
+ static const char _StdTok_range_lengths[] = {
272
+ 0, 0, 5, 5, 5, 5, 5, 3,
273
+ 4, 0, 3, 5, 7, 7, 7, 7,
274
+ 7, 1, 7, 7, 7, 7, 7, 7,
275
+ 7, 7, 7, 8, 7, 0, 3, 7,
276
+ 0, 4, 0, 6, 5, 5, 4, 6,
277
+ 6, 6, 7, 7, 1, 7, 7, 7,
278
+ 7, 7, 7, 7, 7, 7, 7, 7,
279
+ 3, 7, 7, 7, 8, 7, 7, 7,
280
+ 7, 7, 7, 7, 7, 7, 7, 7,
281
+ 7, 5, 7, 8, 7, 7, 7, 7,
282
+ 7, 4, 7, 7, 7, 7, 7
283
+ };
284
+
285
+ static const short _StdTok_index_offsets[] = {
286
+ 0, 0, 1, 11, 21, 32, 42, 50,
287
+ 54, 61, 63, 67, 78, 93, 108, 123,
288
+ 144, 159, 161, 177, 193, 209, 225, 241,
289
+ 257, 273, 289, 305, 319, 340, 342, 347,
290
+ 368, 370, 380, 381, 398, 408, 418, 425,
291
+ 436, 447, 458, 475, 491, 494, 511, 528,
292
+ 545, 562, 580, 597, 614, 631, 647, 663,
293
+ 678, 684, 701, 720, 733, 747, 762, 775,
294
+ 790, 806, 822, 838, 854, 870, 886, 902,
295
+ 918, 937, 949, 962, 975, 994, 1015, 1035,
296
+ 1055, 1074, 1084, 1104, 1124, 1144, 1164
297
+ };
298
+
299
+ static const char _StdTok_indicies[] = {
300
+ 0, 2, 3, 2, 4, 2, 2, 2,
301
+ 2, 2, 1, 2, 2, 2, 2, 2,
302
+ 2, 2, 2, 2, 1, 5, 5, 5,
303
+ 5, 6, 5, 5, 5, 5, 5, 1,
304
+ 5, 5, 5, 5, 5, 5, 5, 5,
305
+ 5, 7, 8, 9, 6, 6, 6, 6,
306
+ 6, 1, 6, 6, 6, 1, 12, 13,
307
+ 11, 11, 11, 11, 10, 4, 10, 11,
308
+ 11, 11, 10, 2, 2, 2, 2, 2,
309
+ 2, 2, 15, 2, 2, 14, 2, 16,
310
+ 3, 2, 2, 2, 4, 2, 2, 17,
311
+ 17, 2, 17, 2, 1, 2, 16, 3,
312
+ 2, 2, 2, 4, 2, 2, 18, 18,
313
+ 2, 18, 2, 1, 2, 16, 19, 2,
314
+ 2, 2, 4, 2, 2, 18, 18, 2,
315
+ 18, 2, 1, 2, 2, 2, 2, 2,
316
+ 21, 22, 23, 24, 25, 26, 27, 28,
317
+ 2, 2, 18, 20, 2, 20, 2, 1,
318
+ 2, 16, 19, 2, 2, 2, 4, 2,
319
+ 2, 18, 29, 2, 29, 2, 1, 31,
320
+ 30, 2, 16, 19, 2, 2, 2, 4,
321
+ 32, 2, 2, 18, 29, 2, 29, 2,
322
+ 1, 2, 16, 19, 2, 2, 2, 4,
323
+ 33, 2, 2, 18, 29, 2, 29, 2,
324
+ 1, 2, 16, 19, 2, 2, 2, 4,
325
+ 34, 2, 2, 18, 29, 2, 29, 2,
326
+ 1, 2, 16, 19, 2, 2, 2, 4,
327
+ 35, 2, 2, 18, 29, 2, 29, 2,
328
+ 1, 2, 16, 19, 2, 2, 2, 4,
329
+ 36, 2, 2, 18, 29, 2, 29, 2,
330
+ 1, 2, 16, 19, 2, 2, 2, 4,
331
+ 29, 2, 2, 18, 18, 2, 18, 2,
332
+ 30, 2, 16, 19, 2, 2, 2, 4,
333
+ 37, 2, 2, 18, 29, 2, 29, 2,
334
+ 1, 2, 16, 19, 2, 2, 2, 4,
335
+ 38, 2, 2, 18, 29, 2, 29, 2,
336
+ 1, 2, 16, 19, 2, 2, 2, 4,
337
+ 39, 2, 2, 18, 29, 2, 29, 2,
338
+ 1, 2, 3, 2, 2, 4, 2, 2,
339
+ 2, 40, 40, 2, 40, 2, 1, 2,
340
+ 2, 2, 2, 2, 21, 22, 23, 24,
341
+ 25, 26, 27, 28, 2, 2, 42, 20,
342
+ 2, 20, 2, 41, 43, 1, 44, 44,
343
+ 44, 44, 1, 2, 2, 2, 2, 2,
344
+ 46, 47, 48, 49, 50, 51, 52, 53,
345
+ 2, 2, 18, 45, 2, 45, 2, 1,
346
+ 55, 54, 56, 57, 44, 44, 56, 44,
347
+ 56, 56, 56, 54, 58, 59, 62, 61,
348
+ 63, 63, 61, 61, 61, 66, 67, 61,
349
+ 64, 65, 61, 65, 61, 60, 2, 3,
350
+ 2, 4, 2, 2, 2, 2, 2, 1,
351
+ 5, 69, 5, 5, 5, 5, 5, 5,
352
+ 5, 68, 12, 13, 11, 11, 11, 11,
353
+ 70, 2, 3, 2, 4, 2, 2, 2,
354
+ 71, 2, 2, 70, 2, 73, 2, 4,
355
+ 2, 2, 2, 71, 2, 2, 72, 2,
356
+ 3, 2, 4, 2, 2, 2, 15, 2,
357
+ 2, 74, 2, 76, 77, 2, 78, 2,
358
+ 2, 4, 80, 2, 2, 64, 79, 2,
359
+ 79, 2, 75, 2, 16, 19, 82, 83,
360
+ 2, 2, 4, 2, 2, 18, 18, 2,
361
+ 18, 2, 81, 84, 31, 81, 2, 16,
362
+ 19, 82, 83, 2, 2, 4, 29, 2,
363
+ 2, 18, 18, 2, 18, 2, 81, 2,
364
+ 16, 19, 82, 83, 2, 2, 4, 29,
365
+ 2, 2, 18, 18, 2, 18, 2, 81,
366
+ 2, 16, 19, 82, 83, 2, 2, 4,
367
+ 29, 2, 2, 18, 18, 2, 18, 2,
368
+ 81, 2, 16, 19, 82, 83, 2, 2,
369
+ 4, 29, 2, 2, 18, 18, 2, 18,
370
+ 2, 81, 2, 16, 19, 82, 83, 2,
371
+ 2, 4, 85, 29, 2, 2, 18, 18,
372
+ 2, 18, 2, 81, 2, 16, 19, 82,
373
+ 83, 2, 2, 4, 29, 2, 2, 18,
374
+ 18, 2, 18, 2, 81, 2, 16, 19,
375
+ 82, 83, 2, 2, 4, 29, 2, 2,
376
+ 18, 18, 2, 18, 2, 81, 2, 16,
377
+ 19, 82, 83, 2, 2, 4, 29, 2,
378
+ 2, 18, 18, 2, 18, 2, 81, 2,
379
+ 76, 19, 2, 2, 2, 4, 80, 2,
380
+ 2, 17, 17, 2, 17, 2, 75, 2,
381
+ 80, 3, 2, 2, 2, 4, 80, 2,
382
+ 2, 40, 40, 2, 40, 2, 75, 2,
383
+ 16, 19, 2, 2, 2, 4, 2, 2,
384
+ 42, 18, 2, 18, 2, 74, 86, 44,
385
+ 44, 44, 44, 81, 2, 76, 19, 2,
386
+ 78, 2, 2, 4, 80, 2, 2, 79,
387
+ 79, 2, 79, 2, 75, 2, 88, 89,
388
+ 76, 90, 2, 78, 2, 2, 92, 80,
389
+ 2, 2, 91, 93, 2, 93, 2, 87,
390
+ 2, 3, 2, 2, 4, 2, 2, 2,
391
+ 95, 2, 95, 2, 94, 2, 3, 2,
392
+ 2, 4, 2, 2, 2, 95, 95, 2,
393
+ 95, 2, 94, 2, 3, 2, 2, 4,
394
+ 98, 98, 2, 2, 2, 97, 2, 97,
395
+ 2, 96, 2, 3, 2, 2, 4, 2,
396
+ 2, 2, 97, 2, 97, 2, 1, 2,
397
+ 16, 90, 2, 2, 2, 4, 2, 2,
398
+ 18, 29, 2, 29, 2, 99, 2, 16,
399
+ 90, 2, 2, 2, 4, 32, 2, 2,
400
+ 18, 29, 2, 29, 2, 99, 2, 16,
401
+ 90, 2, 2, 2, 4, 33, 2, 2,
402
+ 18, 29, 2, 29, 2, 99, 2, 16,
403
+ 90, 2, 2, 2, 4, 34, 2, 2,
404
+ 18, 29, 2, 29, 2, 99, 2, 16,
405
+ 90, 2, 2, 2, 4, 35, 2, 2,
406
+ 18, 29, 2, 29, 2, 99, 2, 16,
407
+ 90, 2, 2, 2, 4, 36, 2, 2,
408
+ 18, 29, 2, 29, 2, 99, 2, 16,
409
+ 90, 2, 2, 2, 4, 37, 2, 2,
410
+ 18, 29, 2, 29, 2, 99, 2, 16,
411
+ 90, 2, 2, 2, 4, 38, 2, 2,
412
+ 18, 29, 2, 29, 2, 99, 2, 16,
413
+ 90, 2, 2, 2, 4, 39, 2, 2,
414
+ 18, 29, 2, 29, 2, 99, 2, 88,
415
+ 100, 76, 19, 2, 78, 2, 2, 92,
416
+ 80, 2, 2, 91, 91, 2, 91, 2,
417
+ 87, 2, 3, 2, 4, 101, 101, 2,
418
+ 2, 2, 2, 2, 96, 5, 5, 5,
419
+ 5, 6, 5, 5, 5, 102, 5, 102,
420
+ 5, 94, 5, 69, 5, 5, 5, 5,
421
+ 5, 102, 102, 5, 102, 5, 68, 2,
422
+ 88, 89, 76, 19, 2, 78, 2, 2,
423
+ 92, 80, 2, 2, 91, 93, 2, 93,
424
+ 2, 87, 2, 88, 89, 76, 90, 2,
425
+ 78, 2, 2, 92, 80, 103, 104, 2,
426
+ 2, 91, 93, 2, 93, 2, 87, 2,
427
+ 88, 89, 76, 19, 2, 78, 2, 2,
428
+ 92, 80, 105, 2, 2, 91, 93, 2,
429
+ 93, 2, 87, 2, 88, 89, 76, 19,
430
+ 2, 78, 2, 2, 92, 80, 106, 2,
431
+ 2, 91, 93, 2, 93, 2, 87, 2,
432
+ 88, 89, 76, 19, 2, 107, 2, 2,
433
+ 92, 80, 2, 2, 91, 93, 2, 93,
434
+ 2, 87, 56, 108, 44, 44, 56, 44,
435
+ 56, 56, 56, 81, 2, 88, 89, 76,
436
+ 19, 2, 78, 2, 2, 92, 80, 106,
437
+ 2, 2, 91, 93, 2, 93, 2, 87,
438
+ 2, 88, 89, 76, 90, 2, 78, 2,
439
+ 2, 92, 80, 109, 2, 2, 91, 93,
440
+ 2, 93, 2, 87, 2, 88, 89, 76,
441
+ 19, 2, 78, 2, 2, 92, 80, 110,
442
+ 2, 2, 91, 93, 2, 93, 2, 87,
443
+ 2, 88, 89, 76, 19, 2, 78, 2,
444
+ 2, 92, 80, 111, 2, 2, 91, 93,
445
+ 2, 93, 2, 87, 2, 88, 89, 76,
446
+ 19, 2, 107, 2, 2, 92, 80, 106,
447
+ 2, 2, 91, 93, 2, 93, 2, 87,
448
+ 0
449
+ };
450
+
451
+ static const char _StdTok_trans_targs[] = {
452
+ 34, 35, 2, 3, 4, 37, 6, 35,
453
+ 7, 35, 35, 8, 9, 10, 35, 41,
454
+ 13, 53, 14, 15, 16, 18, 19, 20,
455
+ 21, 22, 24, 25, 26, 43, 35, 44,
456
+ 45, 46, 47, 48, 49, 50, 51, 52,
457
+ 54, 35, 55, 30, 56, 63, 64, 65,
458
+ 66, 67, 68, 69, 70, 71, 35, 33,
459
+ 56, 81, 0, 35, 35, 36, 38, 39,
460
+ 42, 58, 77, 83, 35, 5, 35, 40,
461
+ 35, 11, 35, 35, 12, 28, 29, 57,
462
+ 27, 35, 36, 17, 35, 23, 56, 35,
463
+ 59, 61, 31, 72, 74, 76, 35, 60,
464
+ 35, 62, 62, 35, 73, 36, 75, 78,
465
+ 82, 79, 80, 32, 81, 84, 85, 86
466
+ };
467
+
468
+ static const char _StdTok_trans_actions[] = {
469
+ 5, 51, 0, 0, 0, 11, 0, 39,
470
+ 0, 13, 49, 0, 0, 0, 47, 83,
471
+ 0, 68, 0, 0, 0, 0, 0, 0,
472
+ 0, 0, 0, 0, 0, 74, 45, 0,
473
+ 74, 74, 74, 74, 74, 74, 74, 74,
474
+ 68, 43, 83, 0, 0, 77, 77, 77,
475
+ 77, 77, 77, 77, 77, 77, 41, 0,
476
+ 1, 0, 0, 15, 17, 86, 86, 86,
477
+ 68, 56, 56, 56, 19, 0, 37, 80,
478
+ 33, 0, 35, 25, 0, 0, 0, 68,
479
+ 0, 29, 89, 0, 53, 0, 3, 21,
480
+ 71, 59, 0, 56, 71, 56, 27, 71,
481
+ 23, 65, 62, 31, 59, 62, 11, 56,
482
+ 56, 56, 56, 0, 3, 56, 56, 56
483
+ };
484
+
485
+ static const char _StdTok_to_state_actions[] = {
486
+ 0, 7, 0, 0, 0, 0, 0, 0,
487
+ 0, 0, 0, 0, 0, 0, 0, 0,
488
+ 0, 0, 0, 0, 0, 0, 0, 0,
489
+ 0, 0, 0, 0, 0, 0, 0, 0,
490
+ 0, 0, 7, 7, 0, 0, 0, 0,
491
+ 0, 0, 0, 0, 0, 0, 0, 0,
492
+ 0, 0, 0, 0, 0, 0, 0, 0,
493
+ 0, 0, 0, 0, 0, 0, 0, 0,
494
+ 0, 0, 0, 0, 0, 0, 0, 0,
495
+ 0, 0, 0, 0, 0, 0, 0, 0,
496
+ 0, 0, 0, 0, 0, 0, 0
497
+ };
498
+
499
+ static const char _StdTok_from_state_actions[] = {
500
+ 0, 0, 0, 0, 0, 0, 0, 0,
501
+ 0, 0, 0, 0, 0, 0, 0, 0,
502
+ 0, 0, 0, 0, 0, 0, 0, 0,
503
+ 0, 0, 0, 0, 0, 0, 0, 0,
504
+ 0, 0, 0, 9, 0, 0, 0, 0,
505
+ 0, 0, 0, 0, 0, 0, 0, 0,
506
+ 0, 0, 0, 0, 0, 0, 0, 0,
507
+ 0, 0, 0, 0, 0, 0, 0, 0,
508
+ 0, 0, 0, 0, 0, 0, 0, 0,
509
+ 0, 0, 0, 0, 0, 0, 0, 0,
510
+ 0, 0, 0, 0, 0, 0, 0
511
+ };
512
+
513
+ static const short _StdTok_eof_trans[] = {
514
+ 0, 0, 2, 2, 2, 8, 2, 2,
515
+ 11, 11, 11, 15, 2, 2, 2, 2,
516
+ 2, 31, 2, 2, 2, 2, 2, 31,
517
+ 2, 2, 2, 2, 42, 2, 2, 2,
518
+ 55, 55, 0, 0, 2, 69, 71, 71,
519
+ 73, 75, 76, 82, 82, 82, 82, 82,
520
+ 82, 82, 82, 82, 82, 76, 76, 75,
521
+ 82, 76, 88, 95, 95, 97, 2, 100,
522
+ 100, 100, 100, 100, 100, 100, 100, 100,
523
+ 88, 97, 95, 69, 88, 88, 88, 88,
524
+ 88, 82, 88, 88, 88, 88, 88
525
+ };
526
+
527
+ static const int StdTok_start = 1;
528
+ static const int StdTok_error = 0;
529
+
530
+ static const int StdTok_en_frt_tokenizer = 35;
531
+ static const int StdTok_en_main = 1;
532
+
533
+
534
+ #line 31 "src/scanner.rl"
535
+
536
+ void frt_std_scan(const char *in,
537
+ char *out, size_t out_size,
538
+ const char **start,
539
+ const char **end,
540
+ int *token_size)
541
+ {
542
+ int cs, act, top;
543
+ int stack[32];
544
+ char *ts = 0, *te = 0;
545
+
546
+
547
+ #line 549 "src/scanner.c"
548
+ {
549
+ cs = StdTok_start;
550
+ top = 0;
551
+ ts = 0;
552
+ te = 0;
553
+ act = 0;
554
+ }
555
+
556
+ #line 43 "src/scanner.rl"
557
+
558
+ char *p = (char *)in, *pe = 0, *eof = pe;
559
+ int skip = 0;
560
+ int trunc = 0;
561
+ char strip_char = 0;
562
+
563
+ *end = 0;
564
+ *start = 0;
565
+ *token_size = 0;
566
+
567
+
568
+ #line 570 "src/scanner.c"
569
+ {
570
+ int _klen;
571
+ unsigned int _trans;
572
+ const char *_acts;
573
+ unsigned int _nacts;
574
+ const unsigned char *_keys;
575
+
576
+ if ( p == pe )
577
+ goto _test_eof;
578
+ if ( cs == 0 )
579
+ goto _out;
580
+ _resume:
581
+ _acts = _StdTok_actions + _StdTok_from_state_actions[cs];
582
+ _nacts = (unsigned int) *_acts++;
583
+ while ( _nacts-- > 0 ) {
584
+ switch ( *_acts++ ) {
585
+ case 4:
586
+ #line 1 "NONE"
587
+ {ts = p;}
588
+ break;
589
+ #line 591 "src/scanner.c"
590
+ }
591
+ }
592
+
593
+ _keys = _StdTok_trans_keys + _StdTok_key_offsets[cs];
594
+ _trans = _StdTok_index_offsets[cs];
595
+
596
+ _klen = _StdTok_single_lengths[cs];
597
+ if ( _klen > 0 ) {
598
+ const unsigned char *_lower = _keys;
599
+ const unsigned char *_mid;
600
+ const unsigned char *_upper = _keys + _klen - 1;
601
+ while (1) {
602
+ if ( _upper < _lower )
603
+ break;
604
+
605
+ _mid = _lower + ((_upper-_lower) >> 1);
606
+ if ( (*p) < *_mid )
607
+ _upper = _mid - 1;
608
+ else if ( (*p) > *_mid )
609
+ _lower = _mid + 1;
610
+ else {
611
+ _trans += (unsigned int)(_mid - _keys);
612
+ goto _match;
613
+ }
614
+ }
615
+ _keys += _klen;
616
+ _trans += _klen;
617
+ }
618
+
619
+ _klen = _StdTok_range_lengths[cs];
620
+ if ( _klen > 0 ) {
621
+ const unsigned char *_lower = _keys;
622
+ const unsigned char *_mid;
623
+ const unsigned char *_upper = _keys + (_klen<<1) - 2;
624
+ while (1) {
625
+ if ( _upper < _lower )
626
+ break;
627
+
628
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
629
+ if ( (*p) < _mid[0] )
630
+ _upper = _mid - 2;
631
+ else if ( (*p) > _mid[1] )
632
+ _lower = _mid + 2;
633
+ else {
634
+ _trans += (unsigned int)((_mid - _keys)>>1);
635
+ goto _match;
636
+ }
637
+ }
638
+ _trans += _klen;
639
+ }
640
+
641
+ _match:
642
+ _trans = _StdTok_indicies[_trans];
643
+ _eof_trans:
644
+ cs = _StdTok_trans_targs[_trans];
645
+
646
+ if ( _StdTok_trans_actions[_trans] == 0 )
647
+ goto _again;
648
+
649
+ _acts = _StdTok_actions + _StdTok_trans_actions[_trans];
650
+ _nacts = (unsigned int) *_acts++;
651
+ while ( _nacts-- > 0 )
652
+ {
653
+ switch ( *_acts++ )
654
+ {
655
+ case 0:
656
+ #line 14 "src/url.rl"
657
+ { skip = p - ts; }
658
+ break;
659
+ case 1:
660
+ #line 26 "src/url.rl"
661
+ { trunc = 1; }
662
+ break;
663
+ case 2:
664
+ #line 27 "src/scanner.rl"
665
+ { p--; {stack[top++] = cs; cs = 35; goto _again;} }
666
+ break;
667
+ case 5:
668
+ #line 1 "NONE"
669
+ {te = p+1;}
670
+ break;
671
+ case 6:
672
+ #line 15 "src/scanner.in"
673
+ {act = 2;}
674
+ break;
675
+ case 7:
676
+ #line 16 "src/scanner.in"
677
+ {act = 3;}
678
+ break;
679
+ case 8:
680
+ #line 17 "src/scanner.in"
681
+ {act = 4;}
682
+ break;
683
+ case 9:
684
+ #line 20 "src/scanner.in"
685
+ {act = 5;}
686
+ break;
687
+ case 10:
688
+ #line 23 "src/scanner.in"
689
+ {act = 6;}
690
+ break;
691
+ case 11:
692
+ #line 26 "src/scanner.in"
693
+ {act = 7;}
694
+ break;
695
+ case 12:
696
+ #line 29 "src/scanner.in"
697
+ {act = 8;}
698
+ break;
699
+ case 13:
700
+ #line 32 "src/scanner.in"
701
+ {act = 9;}
702
+ break;
703
+ case 14:
704
+ #line 35 "src/scanner.in"
705
+ {act = 10;}
706
+ break;
707
+ case 15:
708
+ #line 36 "src/scanner.in"
709
+ {act = 11;}
710
+ break;
711
+ case 16:
712
+ #line 40 "src/scanner.in"
713
+ {act = 13;}
714
+ break;
715
+ case 17:
716
+ #line 12 "src/scanner.in"
717
+ {te = p+1;{ RET; }}
718
+ break;
719
+ case 18:
720
+ #line 29 "src/scanner.in"
721
+ {te = p+1;{ RET; }}
722
+ break;
723
+ case 19:
724
+ #line 39 "src/scanner.in"
725
+ {te = p+1;{ return; }}
726
+ break;
727
+ case 20:
728
+ #line 40 "src/scanner.in"
729
+ {te = p+1;}
730
+ break;
731
+ case 21:
732
+ #line 12 "src/scanner.in"
733
+ {te = p;p--;{ RET; }}
734
+ break;
735
+ case 22:
736
+ #line 15 "src/scanner.in"
737
+ {te = p;p--;{ RET; }}
738
+ break;
739
+ case 23:
740
+ #line 16 "src/scanner.in"
741
+ {te = p;p--;{ trunc = 1; RET; }}
742
+ break;
743
+ case 24:
744
+ #line 23 "src/scanner.in"
745
+ {te = p;p--;{ RET; }}
746
+ break;
747
+ case 25:
748
+ #line 26 "src/scanner.in"
749
+ {te = p;p--;{ RET; }}
750
+ break;
751
+ case 26:
752
+ #line 29 "src/scanner.in"
753
+ {te = p;p--;{ RET; }}
754
+ break;
755
+ case 27:
756
+ #line 32 "src/scanner.in"
757
+ {te = p;p--;{ STRIP('.'); }}
758
+ break;
759
+ case 28:
760
+ #line 35 "src/scanner.in"
761
+ {te = p;p--;{ RET; }}
762
+ break;
763
+ case 29:
764
+ #line 36 "src/scanner.in"
765
+ {te = p;p--;{ RET; }}
766
+ break;
767
+ case 30:
768
+ #line 40 "src/scanner.in"
769
+ {te = p;p--;}
770
+ break;
771
+ case 31:
772
+ #line 12 "src/scanner.in"
773
+ {{p = ((te))-1;}{ RET; }}
774
+ break;
775
+ case 32:
776
+ #line 15 "src/scanner.in"
777
+ {{p = ((te))-1;}{ RET; }}
778
+ break;
779
+ case 33:
780
+ #line 23 "src/scanner.in"
781
+ {{p = ((te))-1;}{ RET; }}
782
+ break;
783
+ case 34:
784
+ #line 29 "src/scanner.in"
785
+ {{p = ((te))-1;}{ RET; }}
786
+ break;
787
+ case 35:
788
+ #line 35 "src/scanner.in"
789
+ {{p = ((te))-1;}{ RET; }}
790
+ break;
791
+ case 36:
792
+ #line 40 "src/scanner.in"
793
+ {{p = ((te))-1;}}
794
+ break;
795
+ case 37:
796
+ #line 1 "NONE"
797
+ { switch( act ) {
798
+ case 2:
799
+ {{p = ((te))-1;} RET; }
800
+ break;
801
+ case 3:
802
+ {{p = ((te))-1;} trunc = 1; RET; }
803
+ break;
804
+ case 4:
805
+ {{p = ((te))-1;} trunc = 2; RET; }
806
+ break;
807
+ case 5:
808
+ {{p = ((te))-1;} RET; }
809
+ break;
810
+ case 6:
811
+ {{p = ((te))-1;} RET; }
812
+ break;
813
+ case 7:
814
+ {{p = ((te))-1;} RET; }
815
+ break;
816
+ case 8:
817
+ {{p = ((te))-1;} RET; }
818
+ break;
819
+ case 9:
820
+ {{p = ((te))-1;} STRIP('.'); }
821
+ break;
822
+ case 10:
823
+ {{p = ((te))-1;} RET; }
824
+ break;
825
+ case 11:
826
+ {{p = ((te))-1;} RET; }
827
+ break;
828
+ case 13:
829
+ {{p = ((te))-1;}}
830
+ break;
831
+ }
832
+ }
833
+ break;
834
+ #line 836 "src/scanner.c"
835
+ }
836
+ }
837
+
838
+ _again:
839
+ _acts = _StdTok_actions + _StdTok_to_state_actions[cs];
840
+ _nacts = (unsigned int) *_acts++;
841
+ while ( _nacts-- > 0 ) {
842
+ switch ( *_acts++ ) {
843
+ case 3:
844
+ #line 1 "NONE"
845
+ {ts = 0;}
846
+ break;
847
+ #line 849 "src/scanner.c"
848
+ }
849
+ }
850
+
851
+ if ( cs == 0 )
852
+ goto _out;
853
+ if ( ++p != pe )
854
+ goto _resume;
855
+ _test_eof: {}
856
+ if ( p == eof )
857
+ {
858
+ if ( _StdTok_eof_trans[cs] > 0 ) {
859
+ _trans = _StdTok_eof_trans[cs] - 1;
860
+ goto _eof_trans;
861
+ }
862
+ }
863
+
864
+ _out: {}
865
+ }
866
+
867
+ #line 54 "src/scanner.rl"
868
+
869
+ if ( cs == StdTok_error )
870
+ fprintf(stderr, "PARSE ERROR\n" );
871
+ else if ( ts ) fprintf(stderr, "STUFF LEFT: '%s'\n", ts);
872
+ return;
873
+
874
+ ret:
875
+ {
876
+ size_t __len = te - ts - skip - trunc;
877
+ if (__len > out_size)
878
+ __len = out_size;
879
+
880
+ *start = ts;
881
+ *end = te;
882
+
883
+ if (strip_char) {
884
+ char *__p = ts + skip;
885
+ char *__o = out;
886
+ for (; __p < (ts + skip + __len); ++__p) {
887
+ if (*__p != strip_char)
888
+ *__o++ = *__p;
889
+ }
890
+ *token_size = __o - out;
891
+ }
892
+ else {
893
+ memcpy(out, ts + skip, __len);
894
+ *token_size = __len;
895
+ }
896
+
897
+ out[*token_size] = 0;
898
+ }
899
+ }