isomorfeus-ferret 0.12.1 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -44
  4. data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
  5. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
  6. data/ext/isomorfeus_ferret_ext/frb_search.c +14 -2
  7. data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
  8. data/ext/isomorfeus_ferret_ext/frt_fs_store.c +1 -1
  9. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  10. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  11. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +7 -7
  12. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  14. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  15. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  16. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  17. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  53. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  54. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  55. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  56. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  113. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  114. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  115. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  116. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  117. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  118. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  119. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  120. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  121. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  122. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  123. data/lib/isomorfeus/ferret/index/index.rb +1 -1
  124. data/lib/isomorfeus/ferret/version.rb +1 -1
  125. metadata +43 -7
  126. data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -0,0 +1,6 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ extern struct SN_env * greek_UTF_8_create_env(void);
4
+ extern void greek_UTF_8_close_env(struct SN_env * z);
5
+
6
+ extern int greek_UTF_8_stem(struct SN_env * z);
@@ -0,0 +1,309 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ #include "stem_header.h"
4
+
5
+ static int r_CONSONANT(struct SN_env * z);
6
+
7
+ extern int hindi_UTF_8_stem(struct SN_env * z);
8
+
9
+ extern struct SN_env * hindi_UTF_8_create_env(void);
10
+ extern void hindi_UTF_8_close_env(struct SN_env * z);
11
+
12
+ static const symbol s_0_0[3] = { 0xE0, 0xA5, 0x80 };
13
+ static const symbol s_0_1[12] = { 0xE0, 0xA5, 0x82, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
14
+ static const symbol s_0_2[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
15
+ static const symbol s_0_3[12] = { 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
16
+ static const symbol s_0_4[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
17
+ static const symbol s_0_5[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
18
+ static const symbol s_0_6[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
19
+ static const symbol s_0_7[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
20
+ static const symbol s_0_8[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
21
+ static const symbol s_0_9[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
22
+ static const symbol s_0_10[9] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
23
+ static const symbol s_0_11[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
24
+ static const symbol s_0_12[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
25
+ static const symbol s_0_13[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
26
+ static const symbol s_0_14[9] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
27
+ static const symbol s_0_15[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
28
+ static const symbol s_0_16[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
29
+ static const symbol s_0_17[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
30
+ static const symbol s_0_18[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
31
+ static const symbol s_0_19[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
32
+ static const symbol s_0_20[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80 };
33
+ static const symbol s_0_21[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x80 };
34
+ static const symbol s_0_22[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x80 };
35
+ static const symbol s_0_23[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x81 };
36
+ static const symbol s_0_24[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
37
+ static const symbol s_0_25[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
38
+ static const symbol s_0_26[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
39
+ static const symbol s_0_27[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
40
+ static const symbol s_0_28[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x81 };
41
+ static const symbol s_0_29[3] = { 0xE0, 0xA5, 0x81 };
42
+ static const symbol s_0_30[6] = { 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
43
+ static const symbol s_0_31[9] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
44
+ static const symbol s_0_32[12] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
45
+ static const symbol s_0_33[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
46
+ static const symbol s_0_34[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x80, 0xE0, 0xA4, 0x82 };
47
+ static const symbol s_0_35[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
48
+ static const symbol s_0_36[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
49
+ static const symbol s_0_37[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x82 };
50
+ static const symbol s_0_38[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82 };
51
+ static const symbol s_0_39[6] = { 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
52
+ static const symbol s_0_40[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
53
+ static const symbol s_0_41[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88, 0xE0, 0xA4, 0x82 };
54
+ static const symbol s_0_42[6] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
55
+ static const symbol s_0_43[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
56
+ static const symbol s_0_44[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
57
+ static const symbol s_0_45[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
58
+ static const symbol s_0_46[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x82 };
59
+ static const symbol s_0_47[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
60
+ static const symbol s_0_48[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
61
+ static const symbol s_0_49[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
62
+ static const symbol s_0_50[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
63
+ static const symbol s_0_51[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
64
+ static const symbol s_0_52[12] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
65
+ static const symbol s_0_53[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
66
+ static const symbol s_0_54[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
67
+ static const symbol s_0_55[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82 };
68
+ static const symbol s_0_56[6] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
69
+ static const symbol s_0_57[9] = { 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
70
+ static const symbol s_0_58[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
71
+ static const symbol s_0_59[9] = { 0xE0, 0xA4, 0x89, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
72
+ static const symbol s_0_60[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
73
+ static const symbol s_0_61[12] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
74
+ static const symbol s_0_62[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
75
+ static const symbol s_0_63[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
76
+ static const symbol s_0_64[15] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x82 };
77
+ static const symbol s_0_65[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
78
+ static const symbol s_0_66[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
79
+ static const symbol s_0_67[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
80
+ static const symbol s_0_68[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
81
+ static const symbol s_0_69[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x82 };
82
+ static const symbol s_0_70[3] = { 0xE0, 0xA5, 0x82 };
83
+ static const symbol s_0_71[3] = { 0xE0, 0xA4, 0x85 };
84
+ static const symbol s_0_72[3] = { 0xE0, 0xA4, 0x86 };
85
+ static const symbol s_0_73[3] = { 0xE0, 0xA4, 0x87 };
86
+ static const symbol s_0_74[3] = { 0xE0, 0xA5, 0x87 };
87
+ static const symbol s_0_75[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
88
+ static const symbol s_0_76[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
89
+ static const symbol s_0_77[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
90
+ static const symbol s_0_78[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
91
+ static const symbol s_0_79[9] = { 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
92
+ static const symbol s_0_80[9] = { 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
93
+ static const symbol s_0_81[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
94
+ static const symbol s_0_82[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x87 };
95
+ static const symbol s_0_83[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
96
+ static const symbol s_0_84[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
97
+ static const symbol s_0_85[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
98
+ static const symbol s_0_86[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x87 };
99
+ static const symbol s_0_87[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
100
+ static const symbol s_0_88[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
101
+ static const symbol s_0_89[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
102
+ static const symbol s_0_90[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
103
+ static const symbol s_0_91[3] = { 0xE0, 0xA4, 0x88 };
104
+ static const symbol s_0_92[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x88 };
105
+ static const symbol s_0_93[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88 };
106
+ static const symbol s_0_94[3] = { 0xE0, 0xA4, 0x89 };
107
+ static const symbol s_0_95[3] = { 0xE0, 0xA4, 0x8A };
108
+ static const symbol s_0_96[3] = { 0xE0, 0xA5, 0x8B };
109
+ static const symbol s_0_97[3] = { 0xE0, 0xA5, 0x8D };
110
+ static const symbol s_0_98[3] = { 0xE0, 0xA4, 0x8F };
111
+ static const symbol s_0_99[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F };
112
+ static const symbol s_0_100[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
113
+ static const symbol s_0_101[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
114
+ static const symbol s_0_102[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F };
115
+ static const symbol s_0_103[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F };
116
+ static const symbol s_0_104[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F };
117
+ static const symbol s_0_105[3] = { 0xE0, 0xA4, 0x93 };
118
+ static const symbol s_0_106[6] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x93 };
119
+ static const symbol s_0_107[6] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x93 };
120
+ static const symbol s_0_108[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
121
+ static const symbol s_0_109[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
122
+ static const symbol s_0_110[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
123
+ static const symbol s_0_111[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xB0 };
124
+ static const symbol s_0_112[3] = { 0xE0, 0xA4, 0xBE };
125
+ static const symbol s_0_113[12] = { 0xE0, 0xA5, 0x82, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
126
+ static const symbol s_0_114[12] = { 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
127
+ static const symbol s_0_115[15] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
128
+ static const symbol s_0_116[15] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8A, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
129
+ static const symbol s_0_117[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
130
+ static const symbol s_0_118[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
131
+ static const symbol s_0_119[12] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
132
+ static const symbol s_0_120[12] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBE };
133
+ static const symbol s_0_121[6] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
134
+ static const symbol s_0_122[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
135
+ static const symbol s_0_123[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
136
+ static const symbol s_0_124[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA4, 0xE0, 0xA4, 0xBE };
137
+ static const symbol s_0_125[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
138
+ static const symbol s_0_126[9] = { 0xE0, 0xA4, 0x85, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
139
+ static const symbol s_0_127[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
140
+ static const symbol s_0_128[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBE };
141
+ static const symbol s_0_129[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
142
+ static const symbol s_0_130[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
143
+ static const symbol s_0_131[3] = { 0xE0, 0xA4, 0xBF };
144
+
145
+ static const struct among a_0[132] =
146
+ {
147
+ { 3, s_0_0, -1, -1, 0},
148
+ { 12, s_0_1, 0, -1, 0},
149
+ { 12, s_0_2, 0, -1, 0},
150
+ { 12, s_0_3, 0, -1, 0},
151
+ { 15, s_0_4, 3, -1, 0},
152
+ { 15, s_0_5, 3, -1, 0},
153
+ { 12, s_0_6, 0, -1, 0},
154
+ { 15, s_0_7, 6, -1, 0},
155
+ { 15, s_0_8, 6, -1, 0},
156
+ { 9, s_0_9, 0, -1, 0},
157
+ { 9, s_0_10, 0, -1, 0},
158
+ { 9, s_0_11, 0, -1, 0},
159
+ { 12, s_0_12, 11, -1, 0},
160
+ { 12, s_0_13, 11, -1, 0},
161
+ { 9, s_0_14, 0, -1, 0},
162
+ { 12, s_0_15, 14, -1, 0},
163
+ { 12, s_0_16, 14, -1, 0},
164
+ { 6, s_0_17, 0, -1, r_CONSONANT},
165
+ { 9, s_0_18, 17, -1, 0},
166
+ { 9, s_0_19, 17, -1, 0},
167
+ { 9, s_0_20, 17, -1, 0},
168
+ { 6, s_0_21, 0, -1, r_CONSONANT},
169
+ { 9, s_0_22, 21, -1, 0},
170
+ { 6, s_0_23, -1, -1, 0},
171
+ { 6, s_0_24, -1, -1, 0},
172
+ { 12, s_0_25, 24, -1, 0},
173
+ { 15, s_0_26, 25, -1, 0},
174
+ { 15, s_0_27, 25, -1, 0},
175
+ { 12, s_0_28, 24, -1, 0},
176
+ { 3, s_0_29, -1, -1, 0},
177
+ { 6, s_0_30, -1, -1, 0},
178
+ { 9, s_0_31, 30, -1, r_CONSONANT},
179
+ { 12, s_0_32, 31, -1, 0},
180
+ { 12, s_0_33, 31, -1, 0},
181
+ { 12, s_0_34, 31, -1, 0},
182
+ { 6, s_0_35, -1, -1, 0},
183
+ { 9, s_0_36, 35, -1, 0},
184
+ { 9, s_0_37, 35, -1, 0},
185
+ { 6, s_0_38, -1, -1, 0},
186
+ { 6, s_0_39, -1, -1, 0},
187
+ { 9, s_0_40, 39, -1, 0},
188
+ { 9, s_0_41, 39, -1, 0},
189
+ { 6, s_0_42, -1, -1, 0},
190
+ { 12, s_0_43, 42, -1, 0},
191
+ { 15, s_0_44, 43, -1, 0},
192
+ { 15, s_0_45, 43, -1, 0},
193
+ { 12, s_0_46, 42, -1, 0},
194
+ { 6, s_0_47, -1, -1, 0},
195
+ { 9, s_0_48, 47, -1, 0},
196
+ { 9, s_0_49, 47, -1, 0},
197
+ { 9, s_0_50, 47, -1, 0},
198
+ { 9, s_0_51, 47, -1, 0},
199
+ { 12, s_0_52, 51, -1, r_CONSONANT},
200
+ { 15, s_0_53, 52, -1, 0},
201
+ { 12, s_0_54, 51, -1, r_CONSONANT},
202
+ { 15, s_0_55, 54, -1, 0},
203
+ { 6, s_0_56, -1, -1, 0},
204
+ { 9, s_0_57, 56, -1, 0},
205
+ { 9, s_0_58, 56, -1, 0},
206
+ { 9, s_0_59, 56, -1, 0},
207
+ { 9, s_0_60, 56, -1, 0},
208
+ { 12, s_0_61, 60, -1, r_CONSONANT},
209
+ { 15, s_0_62, 61, -1, 0},
210
+ { 12, s_0_63, 60, -1, r_CONSONANT},
211
+ { 15, s_0_64, 63, -1, 0},
212
+ { 6, s_0_65, -1, -1, 0},
213
+ { 12, s_0_66, 65, -1, 0},
214
+ { 15, s_0_67, 66, -1, 0},
215
+ { 15, s_0_68, 66, -1, 0},
216
+ { 12, s_0_69, 65, -1, 0},
217
+ { 3, s_0_70, -1, -1, 0},
218
+ { 3, s_0_71, -1, -1, 0},
219
+ { 3, s_0_72, -1, -1, 0},
220
+ { 3, s_0_73, -1, -1, 0},
221
+ { 3, s_0_74, -1, -1, 0},
222
+ { 12, s_0_75, 74, -1, 0},
223
+ { 12, s_0_76, 74, -1, 0},
224
+ { 15, s_0_77, 76, -1, 0},
225
+ { 15, s_0_78, 76, -1, 0},
226
+ { 9, s_0_79, 74, -1, 0},
227
+ { 9, s_0_80, 74, -1, 0},
228
+ { 12, s_0_81, 80, -1, 0},
229
+ { 12, s_0_82, 80, -1, 0},
230
+ { 6, s_0_83, 74, -1, r_CONSONANT},
231
+ { 9, s_0_84, 83, -1, 0},
232
+ { 9, s_0_85, 83, -1, 0},
233
+ { 9, s_0_86, 83, -1, 0},
234
+ { 6, s_0_87, 74, -1, r_CONSONANT},
235
+ { 9, s_0_88, 87, -1, 0},
236
+ { 9, s_0_89, 87, -1, 0},
237
+ { 9, s_0_90, 87, -1, 0},
238
+ { 3, s_0_91, -1, -1, 0},
239
+ { 6, s_0_92, 91, -1, 0},
240
+ { 6, s_0_93, 91, -1, 0},
241
+ { 3, s_0_94, -1, -1, 0},
242
+ { 3, s_0_95, -1, -1, 0},
243
+ { 3, s_0_96, -1, -1, 0},
244
+ { 3, s_0_97, -1, -1, 0},
245
+ { 3, s_0_98, -1, -1, 0},
246
+ { 6, s_0_99, 98, -1, 0},
247
+ { 6, s_0_100, 98, -1, 0},
248
+ { 9, s_0_101, 100, -1, 0},
249
+ { 9, s_0_102, 100, -1, 0},
250
+ { 6, s_0_103, 98, -1, 0},
251
+ { 6, s_0_104, 98, -1, 0},
252
+ { 3, s_0_105, -1, -1, 0},
253
+ { 6, s_0_106, 105, -1, 0},
254
+ { 6, s_0_107, 105, -1, 0},
255
+ { 6, s_0_108, -1, -1, r_CONSONANT},
256
+ { 9, s_0_109, 108, -1, 0},
257
+ { 9, s_0_110, 108, -1, 0},
258
+ { 9, s_0_111, 108, -1, 0},
259
+ { 3, s_0_112, -1, -1, 0},
260
+ { 12, s_0_113, 112, -1, 0},
261
+ { 12, s_0_114, 112, -1, 0},
262
+ { 15, s_0_115, 114, -1, 0},
263
+ { 15, s_0_116, 114, -1, 0},
264
+ { 9, s_0_117, 112, -1, 0},
265
+ { 9, s_0_118, 112, -1, 0},
266
+ { 12, s_0_119, 118, -1, 0},
267
+ { 12, s_0_120, 118, -1, 0},
268
+ { 6, s_0_121, 112, -1, r_CONSONANT},
269
+ { 9, s_0_122, 121, -1, 0},
270
+ { 9, s_0_123, 121, -1, 0},
271
+ { 9, s_0_124, 121, -1, 0},
272
+ { 6, s_0_125, 112, -1, r_CONSONANT},
273
+ { 9, s_0_126, 125, -1, 0},
274
+ { 9, s_0_127, 125, -1, 0},
275
+ { 9, s_0_128, 125, -1, 0},
276
+ { 9, s_0_129, 112, -1, 0},
277
+ { 9, s_0_130, 112, -1, 0},
278
+ { 3, s_0_131, -1, -1, 0}
279
+ };
280
+
281
+ static const unsigned char g_consonant[] = { 255, 255, 255, 255, 159, 0, 0, 0, 248, 7 };
282
+
283
+
284
+ static int r_CONSONANT(struct SN_env * z) {
285
+ if (in_grouping_b_U(z, g_consonant, 2325, 2399, 0)) return 0;
286
+ return 1;
287
+ }
288
+
289
+ extern int hindi_UTF_8_stem(struct SN_env * z) {
290
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
291
+ if (ret < 0) return 0;
292
+ z->c = ret;
293
+ }
294
+ z->lb = z->c; z->c = z->l;
295
+
296
+ z->ket = z->c;
297
+ if (!(find_among_b(z, a_0, 132))) return 0;
298
+ z->bra = z->c;
299
+ { int ret = slice_del(z);
300
+ if (ret < 0) return ret;
301
+ }
302
+ z->c = z->lb;
303
+ return 1;
304
+ }
305
+
306
+ extern struct SN_env * hindi_UTF_8_create_env(void) { return SN_create_env(0, 0); }
307
+
308
+ extern void hindi_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
309
+
@@ -0,0 +1,6 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ extern struct SN_env * hindi_UTF_8_create_env(void);
4
+ extern void hindi_UTF_8_close_env(struct SN_env * z);
5
+
6
+ extern int hindi_UTF_8_stem(struct SN_env * z);