9 using System.Collections.Generic;
12 namespace TraceLab.Components.DevelopmentKit.Preprocessors.Stemmers.Snowball.Languages
21 private readonly
static Among[] a_0 =
23 new Among (
"cs", -1, -1, null ),
24 new Among (
"dzs", -1, -1, null ),
25 new Among (
"gy", -1, -1, null ),
26 new Among (
"ly", -1, -1, null ),
27 new Among (
"ny", -1, -1, null ),
28 new Among (
"sz", -1, -1, null ),
29 new Among (
"ty", -1, -1, null ),
30 new Among (
"zs", -1, -1, null )
34 private readonly
static Among[] a_1 =
36 new Among (
"\u00E1", -1, 1, null ),
37 new Among (
"\u00E9", -1, 2, null )
41 private readonly
static Among[] a_2 =
43 new Among (
"bb", -1, -1, null ),
44 new Among (
"cc", -1, -1, null ),
45 new Among (
"dd", -1, -1, null ),
46 new Among (
"ff", -1, -1, null ),
47 new Among (
"gg", -1, -1, null ),
48 new Among (
"jj", -1, -1, null ),
49 new Among (
"kk", -1, -1, null ),
50 new Among (
"ll", -1, -1, null ),
51 new Among (
"mm", -1, -1, null ),
52 new Among (
"nn", -1, -1, null ),
53 new Among (
"pp", -1, -1, null ),
54 new Among (
"rr", -1, -1, null ),
55 new Among (
"ccs", -1, -1, null ),
56 new Among (
"ss", -1, -1, null ),
57 new Among (
"zzs", -1, -1, null ),
58 new Among (
"tt", -1, -1, null ),
59 new Among (
"vv", -1, -1, null ),
60 new Among (
"ggy", -1, -1, null ),
61 new Among (
"lly", -1, -1, null ),
62 new Among (
"nny", -1, -1, null ),
63 new Among (
"tty", -1, -1, null ),
64 new Among (
"ssz", -1, -1, null ),
65 new Among (
"zz", -1, -1, null )
69 private readonly
static Among[] a_3 =
71 new Among (
"al", -1, 1, null ),
72 new Among (
"el", -1, 2, null )
76 private readonly
static Among[] a_4 =
78 new Among (
"ba", -1, -1, null ),
79 new Among (
"ra", -1, -1, null ),
80 new Among (
"be", -1, -1, null ),
81 new Among (
"re", -1, -1, null ),
82 new Among (
"ig", -1, -1, null ),
83 new Among (
"nak", -1, -1, null ),
84 new Among (
"nek", -1, -1, null ),
85 new Among (
"val", -1, -1, null ),
86 new Among (
"vel", -1, -1, null ),
87 new Among (
"ul", -1, -1, null ),
88 new Among (
"n\u00E1l", -1, -1, null ),
89 new Among (
"n\u00E9l", -1, -1, null ),
90 new Among (
"b\u00F3l", -1, -1, null ),
91 new Among (
"r\u00F3l", -1, -1, null ),
92 new Among (
"t\u00F3l", -1, -1, null ),
93 new Among (
"b\u00F5l", -1, -1, null ),
94 new Among (
"r\u00F5l", -1, -1, null ),
95 new Among (
"t\u00F5l", -1, -1, null ),
96 new Among (
"\u00FCl", -1, -1, null ),
97 new Among (
"n", -1, -1, null ),
98 new Among (
"an", 19, -1, null ),
99 new Among (
"ban", 20, -1, null ),
100 new Among (
"en", 19, -1, null ),
101 new Among (
"ben", 22, -1, null ),
102 new Among (
"k\u00E9ppen", 22, -1, null ),
103 new Among (
"on", 19, -1, null ),
104 new Among (
"\u00F6n", 19, -1, null ),
105 new Among (
"k\u00E9pp", -1, -1, null ),
106 new Among (
"kor", -1, -1, null ),
107 new Among (
"t", -1, -1, null ),
108 new Among (
"at", 29, -1, null ),
109 new Among (
"et", 29, -1, null ),
110 new Among (
"k\u00E9nt", 29, -1, null ),
111 new Among (
"ank\u00E9nt", 32, -1, null ),
112 new Among (
"enk\u00E9nt", 32, -1, null ),
113 new Among (
"onk\u00E9nt", 32, -1, null ),
114 new Among (
"ot", 29, -1, null ),
115 new Among (
"\u00E9rt", 29, -1, null ),
116 new Among (
"\u00F6t", 29, -1, null ),
117 new Among (
"hez", -1, -1, null ),
118 new Among (
"hoz", -1, -1, null ),
119 new Among (
"h\u00F6z", -1, -1, null ),
120 new Among (
"v\u00E1", -1, -1, null ),
121 new Among (
"v\u00E9", -1, -1, null )
125 private readonly
static Among[] a_5 =
127 new Among (
"\u00E1n", -1, 2, null ),
128 new Among (
"\u00E9n", -1, 1, null ),
129 new Among (
"\u00E1nk\u00E9nt", -1, 3, null )
133 private readonly
static Among[] a_6 =
135 new Among (
"stul", -1, 2, null ),
136 new Among (
"astul", 0, 1, null ),
137 new Among (
"\u00E1stul", 0, 3, null ),
138 new Among (
"st\u00FCl", -1, 2, null ),
139 new Among (
"est\u00FCl", 3, 1, null ),
140 new Among (
"\u00E9st\u00FCl", 3, 4, null )
145 private readonly
static Among[] a_7 =
147 new Among (
"\u00E1", -1, 1, null ),
148 new Among (
"\u00E9", -1, 2, null )
152 private readonly
static Among[] a_8 =
154 new Among (
"k", -1, 7, null ),
155 new Among (
"ak", 0, 4, null ),
156 new Among (
"ek", 0, 6, null ),
157 new Among (
"ok", 0, 5, null ),
158 new Among (
"\u00E1k", 0, 1, null ),
159 new Among (
"\u00E9k", 0, 2, null ),
160 new Among (
"\u00F6k", 0, 3, null )
164 private readonly
static Among[] a_9 =
166 new Among (
"\u00E9i", -1, 7, null ),
167 new Among (
"\u00E1\u00E9i", 0, 6, null ),
168 new Among (
"\u00E9\u00E9i", 0, 5, null ),
169 new Among (
"\u00E9", -1, 9, null ),
170 new Among (
"k\u00E9", 3, 4, null ),
171 new Among (
"ak\u00E9", 4, 1, null ),
172 new Among (
"ek\u00E9", 4, 1, null ),
173 new Among (
"ok\u00E9", 4, 1, null ),
174 new Among (
"\u00E1k\u00E9", 4, 3, null ),
175 new Among (
"\u00E9k\u00E9", 4, 2, null ),
176 new Among (
"\u00F6k\u00E9", 4, 1, null ),
177 new Among (
"\u00E9\u00E9", 3, 8, null )
181 private readonly
static Among[] a_10 =
183 new Among (
"a", -1, 18, null ),
184 new Among (
"ja", 0, 17, null ),
185 new Among (
"d", -1, 16, null ),
186 new Among (
"ad", 2, 13, null ),
187 new Among (
"ed", 2, 13, null ),
188 new Among (
"od", 2, 13, null ),
189 new Among (
"\u00E1d", 2, 14, null ),
190 new Among (
"\u00E9d", 2, 15, null ),
191 new Among (
"\u00F6d", 2, 13, null ),
192 new Among (
"e", -1, 18, null ),
193 new Among (
"je", 9, 17, null ),
194 new Among (
"nk", -1, 4, null ),
195 new Among (
"unk", 11, 1, null ),
196 new Among (
"\u00E1nk", 11, 2, null ),
197 new Among (
"\u00E9nk", 11, 3, null ),
198 new Among (
"\u00FCnk", 11, 1, null ),
199 new Among (
"uk", -1, 8, null ),
200 new Among (
"juk", 16, 7, null ),
201 new Among (
"\u00E1juk", 17, 5, null ),
202 new Among (
"\u00FCk", -1, 8, null ),
203 new Among (
"j\u00FCk", 19, 7, null ),
204 new Among (
"\u00E9j\u00FCk", 20, 6, null ),
205 new Among (
"m", -1, 12, null ),
206 new Among (
"am", 22, 9, null ),
207 new Among (
"em", 22, 9, null ),
208 new Among (
"om", 22, 9, null ),
209 new Among (
"\u00E1m", 22, 10, null ),
210 new Among (
"\u00E9m", 22, 11, null ),
211 new Among (
"o", -1, 18, null ),
212 new Among (
"\u00E1", -1, 19, null ),
213 new Among (
"\u00E9", -1, 20, null )
217 private readonly
static Among[] a_11 =
219 new Among (
"id", -1, 10, null ),
220 new Among (
"aid", 0, 9, null ),
221 new Among (
"jaid", 1, 6, null ),
222 new Among (
"eid", 0, 9, null ),
223 new Among (
"jeid", 3, 6, null ),
224 new Among (
"\u00E1id", 0, 7, null ),
225 new Among (
"\u00E9id", 0, 8, null ),
226 new Among (
"i", -1, 15, null ),
227 new Among (
"ai", 7, 14, null ),
228 new Among (
"jai", 8, 11, null ),
229 new Among (
"ei", 7, 14, null ),
230 new Among (
"jei", 10, 11, null ),
231 new Among (
"\u00E1i", 7, 12, null ),
232 new Among (
"\u00E9i", 7, 13, null ),
233 new Among (
"itek", -1, 24, null ),
234 new Among (
"eitek", 14, 21, null ),
235 new Among (
"jeitek", 15, 20, null ),
236 new Among (
"\u00E9itek", 14, 23, null ),
237 new Among (
"ik", -1, 29, null ),
238 new Among (
"aik", 18, 26, null ),
239 new Among (
"jaik", 19, 25, null ),
240 new Among (
"eik", 18, 26, null ),
241 new Among (
"jeik", 21, 25, null ),
242 new Among (
"\u00E1ik", 18, 27, null ),
243 new Among (
"\u00E9ik", 18, 28, null ),
244 new Among (
"ink", -1, 20, null ),
245 new Among (
"aink", 25, 17, null ),
246 new Among (
"jaink", 26, 16, null ),
247 new Among (
"eink", 25, 17, null ),
248 new Among (
"jeink", 28, 16, null ),
249 new Among (
"\u00E1ink", 25, 18, null ),
250 new Among (
"\u00E9ink", 25, 19, null ),
251 new Among (
"aitok", -1, 21, null ),
252 new Among (
"jaitok", 32, 20, null ),
253 new Among (
"\u00E1itok", -1, 22, null ),
254 new Among (
"im", -1, 5, null ),
255 new Among (
"aim", 35, 4, null ),
256 new Among (
"jaim", 36, 1, null ),
257 new Among (
"eim", 35, 4, null ),
258 new Among (
"jeim", 38, 1, null ),
259 new Among (
"\u00E1im", 35, 2, null ),
260 new Among (
"\u00E9im", 35, 3, null )
265 private static readonly
char[] g_v = {(char)17, (
char)65, (char)16, (
char)0, (char)0, (
char)0, (char)0,
266 (
char)0, (char)0, (
char)0, (char)0, (
char)0, (char)0, (
char)0,
267 (char)0, (
char)0, (char)1, (
char)17, (char)52, (
char)14 };
275 base.copy_from(other);
279 private bool r_mark_regions()
281 bool subroot =
false;
294 if (!(in_grouping(g_v, 97, 252)))
304 if (!(out_grouping(g_v, 97, 252)))
312 if (subroot) { subroot =
false;
break; }
321 if (subroot) { subroot =
false;
break; }
329 if (find_among(a_0, 8) == 0)
336 if (subroot) { subroot =
false;
break; }
346 if (subroot) { subroot =
false;
break; }
352 if (subroot) { subroot =
false;
break; }
355 if (!(out_grouping(g_v, 97, 252)))
364 if (!(in_grouping(g_v, 97, 252)))
371 if (subroot) { subroot =
false;
break; }
386 if (!(I_p1 <= cursor))
393 private bool r_v_ending()
400 among_var = find_among_b(a_1, 2);
430 private bool r_double()
435 v_1 = limit - cursor;
437 if (find_among_b(a_2, 23) == 0)
441 cursor = limit - v_1;
445 private bool r_undouble()
449 if (cursor <= limit_backward)
459 if (limit_backward > c || c > limit)
472 private bool r_instrum()
479 among_var = find_among_b(a_3, 2);
522 private bool r_case()
528 if (find_among_b(a_4, 44) == 0)
549 private bool r_case_special()
556 among_var = find_among_b(a_5, 3);
591 private bool r_case_other()
598 among_var = find_among_b(a_6, 6);
638 private bool r_factive()
645 among_var = find_among_b(a_7, 2);
688 private bool r_plural()
695 among_var = find_among_b(a_8, 7);
750 private bool r_owned()
757 among_var = find_among_b(a_9, 12);
822 private bool r_sing_owner()
829 among_var = find_among_b(a_10, 31);
949 private bool r_plur_owner()
956 among_var = find_among_b(a_11, 42);
1143 if (!r_mark_regions())
1150 limit_backward = cursor; cursor = limit;
1153 v_2 = limit - cursor;
1162 cursor = limit - v_2;
1164 v_3 = limit - cursor;
1174 cursor = limit - v_3;
1176 v_4 = limit - cursor;
1180 if (!r_case_special())
1186 cursor = limit - v_4;
1188 v_5 = limit - cursor;
1192 if (!r_case_other())
1197 cursor = limit - v_5;
1199 v_6 = limit - cursor;
1208 cursor = limit - v_6;
1210 v_7 = limit - cursor;
1219 cursor = limit - v_7;
1221 v_8 = limit - cursor;
1225 if (!r_sing_owner())
1230 cursor = limit - v_8;
1232 v_9 = limit - cursor;
1236 if (!r_plur_owner())
1241 cursor = limit - v_9;
1243 v_10 = limit - cursor;
1252 cursor = limit - v_10;
1253 cursor = limit_backward;
return true;
1263 this.setCurrent(s.ToLowerInvariant());
1265 return this.getCurrent();