5 #define SNOWBALL_RUNTIME_THROW_EXCEPTIONS
61 static const struct among a_0[10] = {
62 { 1,
s_0_0, 0, -1, 0},
63 { 1,
s_0_1, 0, -1, 0},
64 { 3,
s_0_2, 0, -1, 0},
65 { 3,
s_0_3, 0, -1, 0},
66 { 3,
s_0_4, 0, -1, 0},
67 { 3,
s_0_5, 0, -1, 0},
68 { 4,
s_0_6, 0, -1, 0},
69 { 4,
s_0_7, 0, -1, 0},
70 { 4,
s_0_8, 0, -1, 0},
77 { 4,
s_1_0, 0, -1, 0},
86 { 2,
s_2_0, 0, -1, 0},
87 { 2,
s_2_1, 0, -1, 0},
88 { 3,
s_2_2, 0, -1, 0},
97 { 2,
s_3_0, 0, -1, 0},
98 { 2,
s_3_1, 0, -1, 0},
99 { 3,
s_3_2, 0, -1, 0},
100 { 3,
s_3_3, 0, -1, 0}
105 static const struct among a_5[2] = {
106 { 2,
s_5_0, 0, -1, 0},
107 { 2,
s_5_1, 0, -1, 0}
114 static const struct among a_6[4] = {
115 { 2,
s_6_0, 0, -1, 0},
116 { 2,
s_6_1, 0, -1, 0},
117 { 2,
s_6_2, 0, -1, 0},
118 { 2,
s_6_3, 0, -1, 0}
123 static const struct among a_7[2] = {
124 { 3,
s_7_0, 0, -1, 0},
125 { 3,
s_7_1, 0, -1, 0}
132 static const struct among a_8[4] = {
133 { 3,
s_8_0, 0, -1, 0},
134 { 3,
s_8_1, 0, -1, 0},
135 { 3,
s_8_2, 0, -1, 0},
136 { 3,
s_8_3, 0, -1, 0}
141 static const struct among a_9[2] = {
142 { 4,
s_9_0, 0, -1, 0},
143 { 4,
s_9_1, 0, -1, 0}
195 static const symbol s_15_2[7] = {
's', 0xC4, 0xB1,
'n', 0xC4, 0xB1,
'z' };
196 static const symbol s_15_3[7] = {
's', 0xC3, 0xBC,
'n', 0xC3, 0xBC,
'z' };
241 static const symbol s_19_0[7] = {
'c',
'a',
's', 0xC4, 0xB1,
'n',
'a' };
356 static const unsigned char g_vowel[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
358 static const unsigned char g_U[] = { 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 };
360 static const unsigned char g_vowel1[] = { 1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
362 static const unsigned char g_vowel2[] = { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 };
364 static const unsigned char g_vowel3[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
374 int v_1 = z->
l - z->
c;
377 int v_2 = z->
l - z->
c;
378 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'a')
goto lab0;
384 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'e')
goto lab1;
395 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'i')
goto lab3;
401 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'o')
goto lab4;
412 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'u')
goto lab6;
428 int v_1 = z->
l - z->
c;
429 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'n')
goto lab0;
432 int v_2 = z->
l - z->
c;
439 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'n')
goto lab1;
444 int v_3 = z->
l - z->
c;
447 if (ret < 0)
return 0;
459 int v_1 = z->
l - z->
c;
460 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'y')
goto lab0;
463 int v_2 = z->
l - z->
c;
470 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'y')
goto lab1;
475 int v_3 = z->
l - z->
c;
478 if (ret < 0)
return 0;
489 if (z->
c <= z->
lb || z->
p[z->
c - 1] >> 5 != 3 || !((67133440 >> (z->
p[z->
c - 1] & 0x1f)) & 1))
return 0;
492 int v_1 = z->
l - z->
c;
495 int v_2 = z->
l - z->
c;
506 int v_3 = z->
l - z->
c;
509 if (ret < 0)
return 0;
522 if (ret == 0)
return ret;
526 int v_1 = z->
l - z->
c;
527 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
's')
goto lab0;
530 int v_2 = z->
l - z->
c;
537 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
's')
goto lab1;
542 int v_3 = z->
l - z->
c;
545 if (ret < 0)
return 0;
556 if (z->
c - 3 <= z->
lb || (z->
p[z->
c - 1] != 105 && z->
p[z->
c - 1] != 177))
return 0;
563 if (ret == 0)
return ret;
565 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] != 110)
return 0;
573 if (ret == 0)
return ret;
575 if (z->
c - 1 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
return 0;
582 if (ret == 0)
return ret;
584 if (z->
c - 2 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
return 0;
591 if (ret == 0)
return ret;
593 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] != 109)
return 0;
601 if (ret == 0)
return ret;
603 if (z->
c - 2 <= z->
lb || z->
p[z->
c - 1] != 110)
return 0;
610 if (ret == 0)
return ret;
612 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] != 122)
return 0;
618 if (z->
c - 4 <= z->
lb || z->
p[z->
c - 1] != 122)
return 0;
625 if (ret == 0)
return ret;
627 if (z->
c - 2 <= z->
lb || z->
p[z->
c - 1] != 114)
return 0;
634 if (ret == 0)
return ret;
636 if (z->
c - 2 <= z->
lb || z->
p[z->
c - 1] != 114)
return 0;
643 if (ret == 0)
return ret;
650 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] >> 5 != 3 || !((26658 >> (z->
p[z->
c - 1] & 0x1f)) & 1))
return 0;
658 if (ret == 0)
return ret;
660 if (z->
c - 3 <= z->
lb || z->
p[z->
c - 1] != 159)
return 0;
669 int v_1 = z->
l - z->
c;
674 int v_2 = z->
l - z->
c;
677 int v_3 = z->
l - z->
c;
682 int v_4 = z->
l - z->
c;
694 int v_5 = z->
l - z->
c;
714 int v_6 = z->
l - z->
c;
717 int v_7 = z->
l - z->
c;
726 int v_8 = z->
l - z->
c;
736 int v_9 = z->
l - z->
c;
758 if (ret == 0)
return ret;
761 int v_10 = z->
l - z->
c;
772 int v_11 = z->
l - z->
c;
786 if (ret == 0)
return ret;
795 bool b_continue_stemming_noun_suffixes;
801 if (z->
c == z->
l || z->
p[z->
c] !=
'\'')
goto lab3;
811 if (ret < 0)
goto lab1;
824 if (ret < 0)
goto lab4;
829 if (z->
c == z->
l || z->
p[z->
c] !=
'\'')
goto lab5;
837 if (ret < 0)
goto lab4;
850 for (
int i = 2; i > 0; i--) {
853 if (ret < 0)
return 0;
859 z->
lb = z->
c; z->
c = z->
l;
861 int v_6 = z->
l - z->
c;
863 b_continue_stemming_noun_suffixes =
true;
865 int v_7 = z->
l - z->
c;
867 int v_8 = z->
l - z->
c;
886 if (z->
c - 5 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
goto lab11;
889 int v_9 = z->
l - z->
c;
919 int v_10 = z->
l - z->
c;
922 int v_11 = z->
l - z->
c;
940 b_continue_stemming_noun_suffixes =
false;
945 if (z->
c - 2 <= z->
lb || z->
p[z->
c - 1] != 122)
goto lab22;
948 int v_12 = z->
l - z->
c;
959 int v_13 = z->
l - z->
c;
977 int v_14 = z->
l - z->
c;
990 int v_15 = z->
l - z->
c;
993 int v_16 = z->
l - z->
c;
1025 if (!b_continue_stemming_noun_suffixes)
return 0;
1027 int v_17 = z->
l - z->
c;
1029 int v_18 = z->
l - z->
c;
1035 int v_19 = z->
l - z->
c;
1045 if (z->
c - 1 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
goto lab38;
1051 int v_20 = z->
l - z->
c;
1053 int v_21 = z->
l - z->
c;
1063 int v_22 = z->
l - z->
c;
1073 int v_23 = z->
l - z->
c;
1075 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_23;
goto lab43; }
1086 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_20;
goto lab39; }
1099 int v_24 = z->
l - z->
c;
1105 if (z->
c - 1 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
goto lab44;
1109 int v_25 = z->
l - z->
c;
1120 int v_26 = z->
l - z->
c;
1122 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_26;
goto lab48; }
1139 int v_27 = z->
l - z->
c;
1141 if (z->
c - 3 <= z->
lb || z->
p[z->
c - 1] != 110)
goto lab50;
1150 int v_28 = z->
l - z->
c;
1155 int v_29 = z->
l - z->
c;
1157 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_29;
goto lab52; }
1174 if (z->
c - 2 <= z->
lb || z->
p[z->
c - 1] != 110)
goto lab53;
1179 int v_30 = z->
l - z->
c;
1182 int v_31 = z->
l - z->
c;
1187 int v_32 = z->
l - z->
c;
1189 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_32;
goto lab56; }
1203 int v_33 = z->
l - z->
c;
1221 int v_34 = z->
l - z->
c;
1227 if (z->
c - 1 <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
goto lab59;
1234 int v_35 = z->
l - z->
c;
1236 int v_36 = z->
l - z->
c;
1247 int v_37 = z->
l - z->
c;
1257 int v_38 = z->
l - z->
c;
1259 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_38;
goto lab65; }
1290 int v_39 = z->
l - z->
c;
1302 if (z->
c <= z->
lb || (z->
p[z->
c - 1] != 97 && z->
p[z->
c - 1] != 101))
goto lab68;
1309 int v_40 = z->
l - z->
c;
1312 int v_41 = z->
l - z->
c;
1317 int v_42 = z->
l - z->
c;
1319 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_42;
goto lab73; }
1326 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_40;
goto lab71; }
1340 int v_43 = z->
l - z->
c;
1350 int v_44 = z->
l - z->
c;
1352 if (!
r_mark_lAr(z)) { z->
c = z->
l - v_44;
goto lab75; }
1364 z->
lb = z->
c; z->
c = z->
l;
1366 int v_45 = z->
l - z->
c;
1369 int v_46 = z->
l - z->
c;
1370 if (!(
eq_s_b(z, 3,
s_6))) { z->
c = z->
l - v_46;
goto lab77; }
1374 if (z->
c > z->
lb)
goto lab76;
1380 int v_47 = z->
l - z->
c;
1384 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'd')
goto lab79;
1388 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'g')
goto lab78;
1393 int v_48 = z->
l - z->
c;
1395 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'a')
goto lab81;
1406 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'e')
goto lab83;
1410 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'i')
goto lab82;
1418 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'o')
goto lab85;
1422 if (z->
c <= z->
lb || z->
p[z->
c - 1] !=
'u')
goto lab84;
1441 int v_49 = z->
l - z->
c;
1444 if (!among_var)
goto lab87;
1446 switch (among_var) {
static int stem(struct SN_env *z)
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
int skip_b_utf8(const symbol *p, int c, int limit, int n)
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
SNOWBALL_ERR slice_del(struct SN_env *z)
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
int skip_utf8(const symbol *p, int c, int limit, int n)
static const symbol s_22_0[4]
static const symbol s_20_21[3]
static int r_mark_ymUs_(struct SN_env *z)
static const symbol s_2[]
static const symbol s_13_3[4]
static int r_mark_suffix_with_optional_n_consonant(struct SN_env *z)
static const symbol s_0_2[3]
static const symbol s_20_26[2]
static const symbol s_11_1[2]
static const symbol s_4[]
static const symbol s_20_0[2]
static const struct among a_8[4]
static const symbol s_3_2[3]
static const symbol s_12_0[2]
static const struct among a_19[2]
static const struct among a_12[4]
static const symbol s_20_24[4]
static const struct among a_17[4]
static const symbol s_17_3[4]
static const symbol s_15_2[7]
static const symbol s_0_5[3]
static const symbol s_20_13[3]
static const unsigned char g_vowel5[]
static int r_mark_nUn(struct SN_env *z)
static const symbol s_0_3[3]
static int r_mark_yUm(struct SN_env *z)
static const symbol s_3_1[2]
static const symbol s_13_0[3]
static const symbol s_0_0[1]
static int r_mark_sUn(struct SN_env *z)
static const symbol s_5_0[2]
static const symbol s_21_3[3]
static const struct among a_7[2]
static const symbol s_20_10[3]
static const symbol s_21_1[2]
static const symbol s_20_14[4]
static const unsigned char g_vowel2[]
static const symbol s_2_3[3]
static const symbol s_19_0[7]
static const symbol s_2_0[2]
static const struct among a_6[4]
static const struct among a_16[2]
static const symbol s_20_22[4]
static const symbol s_20_17[4]
static const symbol s_18_7[4]
static const struct among a_3[4]
static const symbol s_6[]
static const symbol s_21_6[3]
static int r_mark_DA(struct SN_env *z)
static const symbol s_3[]
static const symbol s_3_0[2]
static const symbol s_15_0[5]
static const symbol s_19_1[6]
static const symbol s_12_3[3]
static const symbol s_20_6[4]
static const symbol s_18_2[3]
static const symbol s_20_3[3]
static const struct among a_22[4]
static const symbol s_20_31[3]
static const symbol s_7_1[3]
static int r_mark_ndA(struct SN_env *z)
static const symbol s_18_4[4]
static const symbol s_18_1[3]
static int r_mark_sU(struct SN_env *z)
static const struct among a_23[4]
static const symbol s_20_8[4]
static const struct among a_5[2]
static const symbol s_7[]
static const symbol s_8_0[3]
static const symbol s_13[]
static const symbol s_8_2[3]
static const symbol s_23_1[1]
static int r_mark_yUz(struct SN_env *z)
static const symbol s_20_27[2]
static const symbol s_23_2[1]
static const symbol s_18_3[3]
static const symbol s_13_1[3]
static const symbol s_20_19[3]
static const symbol s_20_30[3]
static const symbol s_17_0[3]
static const struct among a_11[2]
static const symbol s_14_0[2]
static const struct among a_10[2]
static const symbol s_18_0[3]
static const symbol s_16_1[3]
static const symbol s_10_1[2]
static const symbol s_12_1[2]
static const symbol s_21_5[3]
static const symbol s_0_6[4]
static const symbol s_0_9[4]
static const symbol s_7_0[3]
static int r_mark_lArI(struct SN_env *z)
static const symbol s_20_4[3]
static int r_check_vowel_harmony(struct SN_env *z)
static const struct among a_1[2]
static const symbol s_8_1[3]
static const symbol s_21_0[2]
static const symbol s_22_1[4]
static const symbol s_6_2[2]
static int r_mark_suffix_with_optional_y_consonant(struct SN_env *z)
static const symbol s_15_3[7]
static const struct among a_14[4]
static const symbol s_20_2[3]
static const symbol s_20_23[4]
static const symbol s_20_25[4]
static const symbol s_17_2[4]
static const symbol s_16[]
static const symbol s_14[]
static const unsigned char g_vowel1[]
static const struct among a_20[32]
static int r_mark_DUr(struct SN_env *z)
static const symbol s_15_1[5]
static const symbol s_9_0[4]
static const struct among a_18[8]
static const struct among a_15[4]
static const symbol s_0_7[4]
static const symbol s_10[]
static int r_mark_yDU(struct SN_env *z)
static const struct among a_2[4]
static const symbol s_1[]
static const symbol s_20_9[4]
static const symbol s_21_7[3]
static const symbol s_9_1[4]
static const symbol s_20_28[3]
static const struct among a_13[4]
static const symbol s_14_2[3]
static const symbol s_20_20[3]
static const symbol s_3_3[3]
Xapian::Internal::Snowball::Turkish::SN_local SN_local
static const struct among a_9[2]
static const symbol s_17_1[3]
static const symbol s_2_2[3]
static const symbol s_20_1[2]
static int r_mark_lAr(struct SN_env *z)
static int r_mark_ysA(struct SN_env *z)
static const symbol s_20_5[3]
static const symbol s_11[]
static const symbol s_12[]
static int r_stem_suffix_chain_before_ki(struct SN_env *z)
static const symbol s_6_1[2]
static const unsigned char g_U[]
static const symbol s_20_18[3]
static const symbol s_6_3[2]
static const unsigned char g_vowel6[]
static const struct among a_21[8]
static const symbol s_21_4[3]
static const symbol s_20_7[4]
static const symbol s_23_0[1]
static const symbol s_0_1[1]
static const symbol s_0_8[4]
static int r_mark_possessives(struct SN_env *z)
static const symbol s_10_0[2]
static const struct among a_0[10]
static const symbol s_22_2[5]
static const symbol s_20_12[3]
static const symbol s_5_1[2]
static const symbol s_18_5[4]
static const symbol s_1_1[5]
static const symbol s_20_29[3]
static const symbol s_18_6[4]
static const symbol s_17[]
static const unsigned char g_vowel4[]
static const symbol s_22_3[5]
static const symbol s_14_1[2]
static const symbol s_13_2[4]
static int r_mark_sUnUz(struct SN_env *z)
static const symbol s_16_0[3]
static const unsigned char g_vowel[]
static const symbol s_21_2[3]
static const symbol s_2_1[2]
static const symbol s_14_3[3]
static const unsigned char g_vowel3[]
static const symbol s_6_0[2]
static const symbol s_12_2[3]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_20_15[4]
static const symbol s_5[]
static const symbol s_20_16[4]
static const symbol s_20_11[3]
static const symbol s_15[]
static const symbol s_8_3[3]
static const symbol s_11_0[2]
static const symbol s_1_0[4]
static const symbol s_23_3[2]
static const symbol s_0[]
static const symbol s_0_4[3]