16 'a', 0xC5, 0xA3,
'i',
'a',
22 'a', 0xC5, 0xA3,
'i',
'e',
25 #define s_1_6 (s_1_7 + 1)
38 #define s_1_14 (s_1_15 + 1)
40 'i',
'i',
'l',
'o',
'r',
42 'i',
'c',
'a',
'l',
'a',
44 'i',
'c',
'i',
'v',
'a',
46 'a',
't',
'i',
'v',
'a',
48 'i',
't',
'i',
'v',
'a',
50 'i',
'c',
'a',
'l',
'e',
52 'a', 0xC5, 0xA3,
'i',
'u',
'n',
'e',
54 'i', 0xC5, 0xA3,
'i',
'u',
'n',
'e',
56 'a',
't',
'o',
'a',
'r',
'e',
58 'i',
't',
'o',
'a',
'r',
'e',
60 0xC4, 0x83,
't',
'o',
'a',
'r',
'e',
62 'i',
'c',
'i',
't',
'a',
't',
'e',
64 'a',
'b',
'i',
'l',
'i',
't',
'a',
't',
'e',
66 'i',
'b',
'i',
'l',
'i',
't',
'a',
't',
'e',
68 'i',
'v',
'i',
't',
'a',
't',
'e',
70 'i',
'c',
'i',
'v',
'e',
72 'a',
't',
'i',
'v',
'e',
74 'i',
't',
'i',
'v',
'e',
76 'i',
'c',
'a',
'l',
'i',
77 #define s_2_18 (s_2_19 + 2)
79 'i',
'c',
'a',
't',
'o',
'r',
'i',
81 'i',
't',
'o',
'r',
'i',
83 0xC4, 0x83,
't',
'o',
'r',
'i',
85 'i',
'c',
'i',
't',
'a',
't',
'i',
87 'a',
'b',
'i',
'l',
'i',
't',
'a',
't',
'i',
89 'i',
'v',
'i',
't',
'a',
't',
'i',
91 'i',
'c',
'i',
'v',
'i',
93 'a',
't',
'i',
'v',
'i',
95 'i',
't',
'i',
'v',
'i',
97 'i',
'c',
'i',
't', 0xC4, 0x83,
'i',
99 'a',
'b',
'i',
'l',
'i',
't', 0xC4, 0x83,
'i',
101 'i',
'v',
'i',
't', 0xC4, 0x83,
'i',
103 'i',
'c',
'i',
't', 0xC4, 0x83, 0xC5, 0xA3,
'i',
105 'a',
'b',
'i',
'l',
'i',
't', 0xC4, 0x83, 0xC5, 0xA3,
'i',
107 'i',
'v',
'i',
't', 0xC4, 0x83, 0xC5, 0xA3,
'i',
109 #define s_2_35 s_2_18
110 #define s_2_36 s_2_19
111 #define s_2_37 s_2_20
112 #define s_2_38 s_2_21
117 'i',
'c',
'a',
'l', 0xC4, 0x83,
119 'i',
'c',
'i',
'v', 0xC4, 0x83,
121 'a',
't',
'i',
'v', 0xC4, 0x83,
123 'i',
't',
'i',
'v', 0xC4, 0x83,
127 'a',
'b',
'i',
'l',
'a',
129 'i',
'b',
'i',
'l',
'a',
147 'a',
'b',
'i',
'l',
'e',
149 'i',
'b',
'i',
'l',
'e',
156 #define s_3_17 (s_3_18 + 2)
158 'i',
't',
'a',
't',
'e',
172 'a',
'b',
'i',
'l',
'i',
174 'i',
'b',
'i',
'l',
'i',
178 'a',
't',
'o',
'r',
'i',
181 #define s_3_30 (s_3_31 + 2)
183 'i',
't',
'a',
't',
'i',
193 'i', 0xC5, 0x9F,
't',
'i',
197 'i',
't', 0xC4, 0x83,
'i',
199 'o', 0xC5, 0x9F,
'i',
201 'i',
't', 0xC4, 0x83, 0xC5, 0xA3,
'i',
204 #define s_3_43 s_3_14
205 #define s_3_44 s_3_28
206 #define s_3_45 s_3_29
214 'i',
'c', 0xC4, 0x83,
216 'a',
'b',
'i',
'l', 0xC4, 0x83,
218 'i',
'b',
'i',
'l', 0xC4, 0x83,
220 'o',
'a',
's', 0xC4, 0x83,
222 'a',
't', 0xC4, 0x83,
223 #define s_3_57 s_3_38
225 'a',
'n',
't', 0xC4, 0x83,
227 'i',
's',
't', 0xC4, 0x83,
229 'u',
't', 0xC4, 0x83,
231 'i',
'v', 0xC4, 0x83,
237 0xC4, 0x83,
's',
'c',
247 0xC3, 0xA2,
'r',
'e',
248 #define s_4_10 (s_4_11 + 1)
249 #define s_4_11 s_4_29
250 #define s_4_12 s_4_30
251 #define s_4_13 s_4_31
252 #define s_4_14 s_4_32
253 #define s_4_15 s_4_33
255 'e', 0xC5, 0x9F,
't',
'e',
257 0xC4, 0x83, 0xC5, 0x9F,
't',
'e',
260 #define s_4_19 (s_4_20 + 1)
268 'e', 0xC5, 0x9F,
't',
'i',
270 0xC4, 0x83, 0xC5, 0x9F,
't',
'i',
276 'a', 0xC5, 0x9F,
'i',
277 #define s_4_28 (s_4_29 + 1)
279 'a',
's',
'e', 0xC5, 0x9F,
'i',
281 's',
'e',
's',
'e', 0xC5, 0x9F,
'i',
283 'i',
's',
'e', 0xC5, 0x9F,
'i',
285 'u',
's',
'e', 0xC5, 0x9F,
'i',
287 0xC3, 0xA2,
's',
'e', 0xC5, 0x9F,
'i',
289 'i', 0xC5, 0x9F,
'i',
291 'u', 0xC5, 0x9F,
'i',
293 0xC3, 0xA2, 0xC5, 0x9F,
'i',
296 #define s_4_38 (s_4_39 + 1)
298 'e',
'a', 0xC5, 0xA3,
'i',
300 'i',
'a', 0xC5, 0xA3,
'i',
302 'e', 0xC5, 0xA3,
'i',
304 'i', 0xC5, 0xA3,
'i',
306 'a',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
307 #define s_4_44 (s_4_45 + 1)
309 'a',
's',
'e',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
311 's',
'e',
's',
'e',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
313 'i',
's',
'e',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
315 'u',
's',
'e',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
317 0xC3, 0xA2,
's',
'e',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
319 'i',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
321 'u',
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
323 0xC3, 0xA2,
'r', 0xC4, 0x83, 0xC5, 0xA3,
'i',
325 0xC3, 0xA2, 0xC5, 0xA3,
'i',
326 #define s_4_54 (s_4_55 + 1)
331 #define s_4_57 (s_4_58 + 2)
335 's',
'e',
's',
'e',
'm',
341 0xC3, 0xA2,
's',
'e',
'm',
344 #define s_4_64 (s_4_65 + 2)
346 'a',
'r', 0xC4, 0x83,
'm',
347 #define s_4_66 (s_4_67 + 1)
349 'a',
's',
'e',
'r', 0xC4, 0x83,
'm',
351 's',
'e',
's',
'e',
'r', 0xC4, 0x83,
'm',
353 'i',
's',
'e',
'r', 0xC4, 0x83,
'm',
355 'u',
's',
'e',
'r', 0xC4, 0x83,
'm',
357 0xC3, 0xA2,
's',
'e',
'r', 0xC4, 0x83,
'm',
359 'i',
'r', 0xC4, 0x83,
'm',
361 'u',
'r', 0xC4, 0x83,
'm',
363 0xC3, 0xA2,
'r', 0xC4, 0x83,
'm',
366 #define s_4_76 (s_4_77 + 1)
374 0xC3, 0xA2,
'n',
'd',
'u',
375 #define s_4_81 s_4_18
377 'e',
'a',
's',
'c', 0xC4, 0x83,
378 #define s_4_83 s_4_43
379 #define s_4_84 s_4_44
380 #define s_4_85 s_4_45
381 #define s_4_86 s_4_46
382 #define s_4_87 s_4_47
383 #define s_4_88 s_4_48
384 #define s_4_89 s_4_49
385 #define s_4_90 s_4_50
386 #define s_4_91 s_4_51
387 #define s_4_92 s_4_52
389 'e',
'a',
'z', 0xC4, 0x83,
392 #define s_5_1 (s_5_2 + 1)
656 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 };
687 if (
c ==
l ||
p[
c] !=
'u')
goto lab3;
692 if (ret < 0)
return ret;
697 if (
c ==
l ||
p[
c] !=
'i')
goto lab1;
702 if (ret < 0)
return ret;
711 if (ret < 0)
goto lab0;
729 if (in_grouping_U(
g_v, 97, 259, 0))
goto lab2;
731 if (out_grouping_U(
g_v, 97, 259, 0))
goto lab4;
733 int ret = out_grouping_U(
g_v, 97, 259, 1);
734 if (ret < 0)
goto lab4;
740 if (in_grouping_U(
g_v, 97, 259, 0))
goto lab2;
742 int ret = in_grouping_U(
g_v, 97, 259, 1);
743 if (ret < 0)
goto lab2;
751 if (out_grouping_U(
g_v, 97, 259, 0))
goto lab0;
753 if (out_grouping_U(
g_v, 97, 259, 0))
goto lab6;
755 int ret = out_grouping_U(
g_v, 97, 259, 1);
756 if (ret < 0)
goto lab6;
762 if (in_grouping_U(
g_v, 97, 259, 0))
goto lab0;
763 {
int ret = skip_utf8(p, c, 0, l, 1);
764 if (ret < 0)
goto lab0;
778 int ret = out_grouping_U(
g_v, 97, 259, 1);
779 if (ret < 0)
goto lab7;
783 int ret = in_grouping_U(
g_v, 97, 259, 1);
784 if (ret < 0)
goto lab7;
789 int ret = out_grouping_U(
g_v, 97, 259, 1);
790 if (ret < 0)
goto lab7;
794 int ret = in_grouping_U(
g_v, 97, 259, 1);
795 if (ret < 0)
goto lab7;
810 if (c >= l || (p[c + 0] != 73 && p[c + 0] != 85)) among_var = 3;
else
811 among_var = find_among(
s_pool,
a_0, 3, 0, 0);
812 if (!(among_var))
goto lab0;
816 {
int ret = slice_from_s(1,
s_2);
817 if (ret < 0)
return ret;
821 {
int ret = slice_from_s(1,
s_3);
822 if (ret < 0)
return ret;
826 {
int ret = skip_utf8(p, c, 0, l, 1);
827 if (ret < 0)
goto lab0;
841 if (!(I_pV <= c))
return 0;
846 if (!(I_p1 <= c))
return 0;
851 if (!(I_p2 <= c))
return 0;
858 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((266786 >> (p[c - 1] & 0x1f)) & 1))
return 0;
859 among_var = find_among_b(
s_pool,
a_1, 16, 0, 0);
860 if (!(among_var))
return 0;
863 if (ret <= 0)
return ret;
867 {
int ret = slice_del();
868 if (ret < 0)
return ret;
872 {
int ret = slice_from_s(1,
s_4);
873 if (ret < 0)
return ret;
877 {
int ret = slice_from_s(1,
s_5);
878 if (ret < 0)
return ret;
882 {
int ret = slice_from_s(1,
s_6);
883 if (ret < 0)
return ret;
887 {
int m1 = l - c; (void)m1;
888 if (!(eq_s_b(2,
s_7)))
goto lab0;
893 {
int ret = slice_from_s(1,
s_8);
894 if (ret < 0)
return ret;
898 {
int ret = slice_from_s(2,
s_9);
899 if (ret < 0)
return ret;
903 {
int ret = slice_from_s(4,
s_10);
904 if (ret < 0)
return ret;
913 {
int m_test1 = l - c;
915 among_var = find_among_b(
s_pool,
a_2, 46, 0, 0);
916 if (!(among_var))
return 0;
919 if (ret <= 0)
return ret;
923 {
int ret = slice_from_s(4,
s_11);
924 if (ret < 0)
return ret;
928 {
int ret = slice_from_s(4,
s_12);
929 if (ret < 0)
return ret;
933 {
int ret = slice_from_s(2,
s_13);
934 if (ret < 0)
return ret;
938 {
int ret = slice_from_s(2,
s_14);
939 if (ret < 0)
return ret;
943 {
int ret = slice_from_s(2,
s_15);
944 if (ret < 0)
return ret;
948 {
int ret = slice_from_s(2,
s_16);
949 if (ret < 0)
return ret;
953 I_standard_suffix_removed = 1;
961 I_standard_suffix_removed = 0;
963 int m1 = l - c; (void)m1;
964 {
int ret = r_combo_suffix();
965 if (ret == 0)
goto lab0;
966 if (ret < 0)
return ret;
974 among_var = find_among_b(
s_pool,
a_3, 62, 0, 0);
975 if (!(among_var))
return 0;
978 if (ret <= 0)
return ret;
982 {
int ret = slice_del();
983 if (ret < 0)
return ret;
987 if (!(eq_s_b(2,
s_17)))
return 0;
989 {
int ret = slice_from_s(1,
s_18);
990 if (ret < 0)
return ret;
994 {
int ret = slice_from_s(3,
s_19);
995 if (ret < 0)
return ret;
999 I_standard_suffix_removed = 1;
1007 if (c < I_pV)
return 0;
1008 mlimit1 = lb; lb = I_pV;
1010 among_var = find_among_b(
s_pool,
a_4, 94, 0, 0);
1011 if (!(among_var)) { lb = mlimit1;
return 0; }
1013 switch (among_var) {
1015 {
int m2 = l - c; (void)m2;
1016 if (out_grouping_b_U(
g_v, 97, 259, 0))
goto lab1;
1020 if (c <= lb || p[c - 1] !=
'u') { lb = mlimit1;
return 0; }
1024 {
int ret = slice_del();
1025 if (ret < 0)
return ret;
1029 {
int ret = slice_del();
1030 if (ret < 0)
return ret;
1041 if (!(find_among_b(
s_pool,
a_5, 5, 0, 0)))
return 0;
1044 if (ret <= 0)
return ret;
1046 {
int ret = slice_del();
1047 if (ret < 0)
return ret;
1054 {
int ret = r_prelude();
1055 if (ret < 0)
return ret;
1060 {
int ret = r_mark_regions();
1061 if (ret < 0)
return ret;
1065 {
int m2 = l - c; (void)m2;
1066 {
int ret = r_step_0();
1067 if (ret < 0)
return ret;
1071 {
int m3 = l - c; (void)m3;
1072 {
int ret = r_standard_suffix();
1073 if (ret < 0)
return ret;
1077 {
int m4 = l - c; (void)m4;
1078 {
int m5 = l - c; (void)m5;
1079 if (!(I_standard_suffix_removed))
goto lab2;
1083 {
int ret = r_verb_suffix();
1084 if (ret == 0)
goto lab0;
1085 if (ret < 0)
return ret;
1092 {
int m6 = l - c; (void)m6;
1093 {
int ret = r_vowel_suffix();
1094 if (ret < 0)
return ret;
1100 {
int ret = r_postlude();
1101 if (ret < 0)
return ret;
1109 : I_standard_suffix_removed(0), I_p2(0), I_p1(0), I_pV(0)
std::string get_description() const
Return a string describing this object.
int stem()
Virtual method implemented by the subclass to actually do the work.
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)
int slice_from_s(int s_size, const symbol *s)
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
static const symbol s_2[]
static const symbol s_4[]
static const struct among a_1[16]
static const struct among a_3[62]
static const struct among a_0[3]
static const symbol s_6[]
static const symbol s_3[]
static const struct among a_2[46]
static const symbol s_7[]
static const symbol s_13[]
static const symbol s_19[]
static const symbol s_16[]
static const symbol s_14[]
static const symbol s_10[]
static const symbol s_1[]
static const symbol s_11[]
static const symbol s_12[]
static const struct among a_5[5]
static const struct among a_4[94]
static const symbol s_pool[]
static const symbol s_18[]
static const symbol s_17[]
static const unsigned char g_v[]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5[]
static const symbol s_15[]
static const symbol s_0[]