isomorfeus-ferret 0.12.4 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -48
  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_store.c +34 -5
  7. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  8. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  9. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +7 -7
  10. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  11. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  12. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  14. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  15. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  16. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  17. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  53. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  54. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  55. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  56. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  113. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  114. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  115. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  116. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  117. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  118. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  119. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  120. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  121. data/lib/isomorfeus/ferret/version.rb +1 -1
  122. metadata +39 -4
  123. 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 * lithuanian_UTF_8_create_env(void);
4
+ extern void lithuanian_UTF_8_close_env(struct SN_env * z);
5
+
6
+ extern int lithuanian_UTF_8_stem(struct SN_env * z);
@@ -0,0 +1,408 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ #include "stem_header.h"
4
+
5
+ extern int nepali_UTF_8_stem(struct SN_env * z);
6
+
7
+ static int r_remove_category_3(struct SN_env * z);
8
+ static int r_remove_category_2(struct SN_env * z);
9
+ static int r_check_category_2(struct SN_env * z);
10
+ static int r_remove_category_1(struct SN_env * z);
11
+
12
+ extern struct SN_env * nepali_UTF_8_create_env(void);
13
+ extern void nepali_UTF_8_close_env(struct SN_env * z);
14
+
15
+ static const symbol s_0_0[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
16
+ static const symbol s_0_1[9] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87 };
17
+ static const symbol s_0_2[6] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA5, 0x87 };
18
+ static const symbol s_0_3[9] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x88 };
19
+ static const symbol s_0_4[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
20
+ static const symbol s_0_5[12] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x81, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x88 };
21
+ static const symbol s_0_6[6] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA5, 0x88 };
22
+ static const symbol s_0_7[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
23
+ static const symbol s_0_8[9] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x81, 0xE0, 0xA4, 0x97 };
24
+ static const symbol s_0_9[9] = { 0xE0, 0xA4, 0xB8, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97 };
25
+ static const symbol s_0_10[18] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAB, 0xE0, 0xA4, 0xA4 };
26
+ static const symbol s_0_11[6] = { 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xA4 };
27
+ static const symbol s_0_12[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
28
+ static const symbol s_0_13[6] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE };
29
+ static const symbol s_0_14[18] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB5, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBE };
30
+ static const symbol s_0_15[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBF };
31
+ static const symbol s_0_16[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF };
32
+
33
+ static const struct among a_0[17] =
34
+ {
35
+ { 6, s_0_0, -1, 2, 0},
36
+ { 9, s_0_1, -1, 1, 0},
37
+ { 6, s_0_2, -1, 1, 0},
38
+ { 9, s_0_3, -1, 1, 0},
39
+ { 6, s_0_4, -1, 2, 0},
40
+ { 12, s_0_5, -1, 1, 0},
41
+ { 6, s_0_6, -1, 1, 0},
42
+ { 6, s_0_7, -1, 2, 0},
43
+ { 9, s_0_8, -1, 1, 0},
44
+ { 9, s_0_9, -1, 1, 0},
45
+ { 18, s_0_10, -1, 1, 0},
46
+ { 6, s_0_11, -1, 1, 0},
47
+ { 6, s_0_12, -1, 2, 0},
48
+ { 6, s_0_13, -1, 1, 0},
49
+ { 18, s_0_14, -1, 1, 0},
50
+ { 6, s_0_15, -1, 2, 0},
51
+ { 9, s_0_16, -1, 1, 0}
52
+ };
53
+
54
+ static const symbol s_1_0[3] = { 0xE0, 0xA4, 0x81 };
55
+ static const symbol s_1_1[3] = { 0xE0, 0xA4, 0x82 };
56
+ static const symbol s_1_2[3] = { 0xE0, 0xA5, 0x88 };
57
+
58
+ static const struct among a_1[3] =
59
+ {
60
+ { 3, s_1_0, -1, -1, 0},
61
+ { 3, s_1_1, -1, -1, 0},
62
+ { 3, s_1_2, -1, -1, 0}
63
+ };
64
+
65
+ static const symbol s_2_0[3] = { 0xE0, 0xA4, 0x81 };
66
+ static const symbol s_2_1[3] = { 0xE0, 0xA4, 0x82 };
67
+ static const symbol s_2_2[3] = { 0xE0, 0xA5, 0x88 };
68
+
69
+ static const struct among a_2[3] =
70
+ {
71
+ { 3, s_2_0, -1, 1, 0},
72
+ { 3, s_2_1, -1, 1, 0},
73
+ { 3, s_2_2, -1, 2, 0}
74
+ };
75
+
76
+ static const symbol s_3_0[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
77
+ static const symbol s_3_1[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
78
+ static const symbol s_3_2[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
79
+ static const symbol s_3_3[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
80
+ static const symbol s_3_4[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA5, 0x80 };
81
+ static const symbol s_3_5[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x80 };
82
+ static const symbol s_3_6[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x80 };
83
+ static const symbol s_3_7[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
84
+ static const symbol s_3_8[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
85
+ static const symbol s_3_9[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
86
+ static const symbol s_3_10[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
87
+ static const symbol s_3_11[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x81 };
88
+ static const symbol s_3_12[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x81 };
89
+ static const symbol s_3_13[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x82 };
90
+ static const symbol s_3_14[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87 };
91
+ static const symbol s_3_15[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
92
+ static const symbol s_3_16[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
93
+ static const symbol s_3_17[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
94
+ static const symbol s_3_18[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
95
+ static const symbol s_3_19[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
96
+ static const symbol s_3_20[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
97
+ static const symbol s_3_21[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
98
+ static const symbol s_3_22[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
99
+ static const symbol s_3_23[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
100
+ static const symbol s_3_24[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
101
+ static const symbol s_3_25[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
102
+ static const symbol s_3_26[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
103
+ static const symbol s_3_27[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
104
+ static const symbol s_3_28[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
105
+ static const symbol s_3_29[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
106
+ static const symbol s_3_30[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
107
+ static const symbol s_3_31[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
108
+ static const symbol s_3_32[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
109
+ static const symbol s_3_33[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
110
+ static const symbol s_3_34[9] = { 0xE0, 0xA4, 0xAD, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
111
+ static const symbol s_3_35[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
112
+ static const symbol s_3_36[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
113
+ static const symbol s_3_37[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
114
+ static const symbol s_3_38[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
115
+ static const symbol s_3_39[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
116
+ static const symbol s_3_40[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
117
+ static const symbol s_3_41[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
118
+ static const symbol s_3_42[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
119
+ static const symbol s_3_43[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
120
+ static const symbol s_3_44[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
121
+ static const symbol s_3_45[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
122
+ static const symbol s_3_46[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
123
+ static const symbol s_3_47[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
124
+ static const symbol s_3_48[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
125
+ static const symbol s_3_49[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
126
+ static const symbol s_3_50[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
127
+ static const symbol s_3_51[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
128
+ static const symbol s_3_52[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
129
+ static const symbol s_3_53[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
130
+ static const symbol s_3_54[12] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
131
+ static const symbol s_3_55[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
132
+ static const symbol s_3_56[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
133
+ static const symbol s_3_57[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D };
134
+ static const symbol s_3_58[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
135
+ static const symbol s_3_59[15] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
136
+ static const symbol s_3_60[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
137
+ static const symbol s_3_61[12] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
138
+ static const symbol s_3_62[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
139
+ static const symbol s_3_63[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
140
+ static const symbol s_3_64[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
141
+ static const symbol s_3_65[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
142
+ static const symbol s_3_66[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
143
+ static const symbol s_3_67[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
144
+ static const symbol s_3_68[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
145
+ static const symbol s_3_69[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
146
+ static const symbol s_3_70[9] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F };
147
+ static const symbol s_3_71[3] = { 0xE0, 0xA4, 0x9B };
148
+ static const symbol s_3_72[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B };
149
+ static const symbol s_3_73[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
150
+ static const symbol s_3_74[9] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
151
+ static const symbol s_3_75[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
152
+ static const symbol s_3_76[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
153
+ static const symbol s_3_77[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
154
+ static const symbol s_3_78[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
155
+ static const symbol s_3_79[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B };
156
+ static const symbol s_3_80[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B };
157
+ static const symbol s_3_81[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
158
+ static const symbol s_3_82[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
159
+ static const symbol s_3_83[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
160
+ static const symbol s_3_84[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
161
+ static const symbol s_3_85[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
162
+ static const symbol s_3_86[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
163
+ static const symbol s_3_87[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
164
+ static const symbol s_3_88[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
165
+ static const symbol s_3_89[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBF };
166
+ static const symbol s_3_90[12] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF };
167
+
168
+ static const struct among a_3[91] =
169
+ {
170
+ { 9, s_3_0, -1, 1, 0},
171
+ { 9, s_3_1, -1, 1, 0},
172
+ { 12, s_3_2, 1, 1, 0},
173
+ { 12, s_3_3, 1, 1, 0},
174
+ { 12, s_3_4, -1, 1, 0},
175
+ { 6, s_3_5, -1, 1, 0},
176
+ { 6, s_3_6, -1, 1, 0},
177
+ { 6, s_3_7, -1, 1, 0},
178
+ { 9, s_3_8, 7, 1, 0},
179
+ { 12, s_3_9, 8, 1, 0},
180
+ { 9, s_3_10, 7, 1, 0},
181
+ { 6, s_3_11, -1, 1, 0},
182
+ { 9, s_3_12, -1, 1, 0},
183
+ { 9, s_3_13, -1, 1, 0},
184
+ { 6, s_3_14, -1, 1, 0},
185
+ { 6, s_3_15, -1, 1, 0},
186
+ { 6, s_3_16, -1, 1, 0},
187
+ { 9, s_3_17, -1, 1, 0},
188
+ { 12, s_3_18, 17, 1, 0},
189
+ { 9, s_3_19, -1, 1, 0},
190
+ { 6, s_3_20, -1, 1, 0},
191
+ { 9, s_3_21, 20, 1, 0},
192
+ { 9, s_3_22, 20, 1, 0},
193
+ { 9, s_3_23, -1, 1, 0},
194
+ { 12, s_3_24, 23, 1, 0},
195
+ { 9, s_3_25, -1, 1, 0},
196
+ { 12, s_3_26, 25, 1, 0},
197
+ { 12, s_3_27, 25, 1, 0},
198
+ { 6, s_3_28, -1, 1, 0},
199
+ { 9, s_3_29, 28, 1, 0},
200
+ { 9, s_3_30, 28, 1, 0},
201
+ { 6, s_3_31, -1, 1, 0},
202
+ { 9, s_3_32, 31, 1, 0},
203
+ { 12, s_3_33, 31, 1, 0},
204
+ { 9, s_3_34, 31, 1, 0},
205
+ { 9, s_3_35, 31, 1, 0},
206
+ { 12, s_3_36, 35, 1, 0},
207
+ { 12, s_3_37, 35, 1, 0},
208
+ { 6, s_3_38, -1, 1, 0},
209
+ { 9, s_3_39, 38, 1, 0},
210
+ { 9, s_3_40, 38, 1, 0},
211
+ { 12, s_3_41, 40, 1, 0},
212
+ { 9, s_3_42, 38, 1, 0},
213
+ { 9, s_3_43, 38, 1, 0},
214
+ { 6, s_3_44, -1, 1, 0},
215
+ { 12, s_3_45, 44, 1, 0},
216
+ { 12, s_3_46, 44, 1, 0},
217
+ { 12, s_3_47, 44, 1, 0},
218
+ { 9, s_3_48, -1, 1, 0},
219
+ { 12, s_3_49, 48, 1, 0},
220
+ { 12, s_3_50, 48, 1, 0},
221
+ { 15, s_3_51, 50, 1, 0},
222
+ { 12, s_3_52, 48, 1, 0},
223
+ { 12, s_3_53, 48, 1, 0},
224
+ { 12, s_3_54, -1, 1, 0},
225
+ { 12, s_3_55, -1, 1, 0},
226
+ { 12, s_3_56, -1, 1, 0},
227
+ { 9, s_3_57, -1, 1, 0},
228
+ { 9, s_3_58, -1, 1, 0},
229
+ { 15, s_3_59, 58, 1, 0},
230
+ { 12, s_3_60, -1, 1, 0},
231
+ { 12, s_3_61, -1, 1, 0},
232
+ { 9, s_3_62, -1, 1, 0},
233
+ { 12, s_3_63, 62, 1, 0},
234
+ { 12, s_3_64, 62, 1, 0},
235
+ { 15, s_3_65, 64, 1, 0},
236
+ { 12, s_3_66, 62, 1, 0},
237
+ { 12, s_3_67, 62, 1, 0},
238
+ { 9, s_3_68, -1, 1, 0},
239
+ { 12, s_3_69, 68, 1, 0},
240
+ { 9, s_3_70, -1, 1, 0},
241
+ { 3, s_3_71, -1, 1, 0},
242
+ { 6, s_3_72, 71, 1, 0},
243
+ { 6, s_3_73, 71, 1, 0},
244
+ { 9, s_3_74, 73, 1, 0},
245
+ { 15, s_3_75, 74, 1, 0},
246
+ { 15, s_3_76, 71, 1, 0},
247
+ { 12, s_3_77, 71, 1, 0},
248
+ { 12, s_3_78, 71, 1, 0},
249
+ { 6, s_3_79, 71, 1, 0},
250
+ { 6, s_3_80, 71, 1, 0},
251
+ { 9, s_3_81, -1, 1, 0},
252
+ { 12, s_3_82, 81, 1, 0},
253
+ { 9, s_3_83, -1, 1, 0},
254
+ { 12, s_3_84, 83, 1, 0},
255
+ { 12, s_3_85, 83, 1, 0},
256
+ { 6, s_3_86, -1, 1, 0},
257
+ { 9, s_3_87, 86, 1, 0},
258
+ { 9, s_3_88, 86, 1, 0},
259
+ { 12, s_3_89, -1, 1, 0},
260
+ { 12, s_3_90, -1, 1, 0}
261
+ };
262
+
263
+ static const symbol s_0[] = { 0xE0, 0xA4, 0x8F };
264
+ static const symbol s_1[] = { 0xE0, 0xA5, 0x87 };
265
+ static const symbol s_2[] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
266
+ static const symbol s_3[] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
267
+ static const symbol s_4[] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8C };
268
+ static const symbol s_5[] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
269
+ static const symbol s_6[] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB0 };
270
+
271
+ static int r_remove_category_1(struct SN_env * z) {
272
+ int among_var;
273
+ z->ket = z->c;
274
+ among_var = find_among_b(z, a_0, 17);
275
+ if (!(among_var)) return 0;
276
+ z->bra = z->c;
277
+ switch (among_var) {
278
+ case 1:
279
+ { int ret = slice_del(z);
280
+ if (ret < 0) return ret;
281
+ }
282
+ break;
283
+ case 2:
284
+ { int m1 = z->l - z->c; (void)m1;
285
+ { int m2 = z->l - z->c; (void)m2;
286
+ if (!(eq_s_b(z, 3, s_0))) goto lab3;
287
+ goto lab2;
288
+ lab3:
289
+ z->c = z->l - m2;
290
+ if (!(eq_s_b(z, 3, s_1))) goto lab1;
291
+ }
292
+ lab2:
293
+ goto lab0;
294
+ lab1:
295
+ z->c = z->l - m1;
296
+ { int ret = slice_del(z);
297
+ if (ret < 0) return ret;
298
+ }
299
+ }
300
+ lab0:
301
+ break;
302
+ }
303
+ return 1;
304
+ }
305
+
306
+ static int r_check_category_2(struct SN_env * z) {
307
+ z->ket = z->c;
308
+ if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
309
+ if (!(find_among_b(z, a_1, 3))) return 0;
310
+ z->bra = z->c;
311
+ return 1;
312
+ }
313
+
314
+ static int r_remove_category_2(struct SN_env * z) {
315
+ int among_var;
316
+ z->ket = z->c;
317
+ if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
318
+ among_var = find_among_b(z, a_2, 3);
319
+ if (!(among_var)) return 0;
320
+ z->bra = z->c;
321
+ switch (among_var) {
322
+ case 1:
323
+ { int m1 = z->l - z->c; (void)m1;
324
+ if (!(eq_s_b(z, 6, s_2))) goto lab1;
325
+ goto lab0;
326
+ lab1:
327
+ z->c = z->l - m1;
328
+ if (!(eq_s_b(z, 6, s_3))) goto lab2;
329
+ goto lab0;
330
+ lab2:
331
+ z->c = z->l - m1;
332
+ if (!(eq_s_b(z, 6, s_4))) goto lab3;
333
+ goto lab0;
334
+ lab3:
335
+ z->c = z->l - m1;
336
+ if (!(eq_s_b(z, 6, s_5))) return 0;
337
+ }
338
+ lab0:
339
+ { int ret = slice_del(z);
340
+ if (ret < 0) return ret;
341
+ }
342
+ break;
343
+ case 2:
344
+ if (!(eq_s_b(z, 9, s_6))) return 0;
345
+ { int ret = slice_del(z);
346
+ if (ret < 0) return ret;
347
+ }
348
+ break;
349
+ }
350
+ return 1;
351
+ }
352
+
353
+ static int r_remove_category_3(struct SN_env * z) {
354
+ z->ket = z->c;
355
+ if (!(find_among_b(z, a_3, 91))) return 0;
356
+ z->bra = z->c;
357
+ { int ret = slice_del(z);
358
+ if (ret < 0) return ret;
359
+ }
360
+ return 1;
361
+ }
362
+
363
+ extern int nepali_UTF_8_stem(struct SN_env * z) {
364
+ z->lb = z->c; z->c = z->l;
365
+
366
+ { int m1 = z->l - z->c; (void)m1;
367
+ { int ret = r_remove_category_1(z);
368
+ if (ret < 0) return ret;
369
+ }
370
+ z->c = z->l - m1;
371
+ }
372
+ { int m2 = z->l - z->c; (void)m2;
373
+ while(1) {
374
+ int m3 = z->l - z->c; (void)m3;
375
+ { int m4 = z->l - z->c; (void)m4;
376
+ { int m5 = z->l - z->c; (void)m5;
377
+ { int ret = r_check_category_2(z);
378
+ if (ret == 0) goto lab2;
379
+ if (ret < 0) return ret;
380
+ }
381
+ z->c = z->l - m5;
382
+ { int ret = r_remove_category_2(z);
383
+ if (ret == 0) goto lab2;
384
+ if (ret < 0) return ret;
385
+ }
386
+ }
387
+ lab2:
388
+ z->c = z->l - m4;
389
+ }
390
+ { int ret = r_remove_category_3(z);
391
+ if (ret == 0) goto lab1;
392
+ if (ret < 0) return ret;
393
+ }
394
+ continue;
395
+ lab1:
396
+ z->c = z->l - m3;
397
+ break;
398
+ }
399
+ z->c = z->l - m2;
400
+ }
401
+ z->c = z->lb;
402
+ return 1;
403
+ }
404
+
405
+ extern struct SN_env * nepali_UTF_8_create_env(void) { return SN_create_env(0, 0); }
406
+
407
+ extern void nepali_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
408
+
@@ -0,0 +1,6 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ extern struct SN_env * nepali_UTF_8_create_env(void);
4
+ extern void nepali_UTF_8_close_env(struct SN_env * z);
5
+
6
+ extern int nepali_UTF_8_stem(struct SN_env * z);