9 using System.Collections.Generic;
12 namespace TraceLab.Components.DevelopmentKit.Preprocessors.Stemmers.Snowball.Languages
19 private readonly
static Among[] a_0 =
21 new Among (
"arsen", -1, -1,null ),
22 new Among (
"commun", -1, -1, null ),
23 new Among (
"gener", -1, -1, null )
27 private readonly
static Among[] a_1 =
29 new Among (
"'", -1, 1, null),
30 new Among (
"'s'", 0, 1, null),
31 new Among (
"'s", -1, 1, null)
35 private readonly
static Among[] a_2 =
37 new Among (
"ied", -1, 2, null),
38 new Among (
"s", -1, 3, null),
39 new Among (
"ies", 1, 2, null),
40 new Among (
"sses", 1, 1, null),
41 new Among (
"ss", 1, -1, null),
42 new Among (
"us", 1, -1, null)
46 private readonly
static Among[] a_3 =
48 new Among (
"", -1, 3, null),
49 new Among (
"bb", 0, 2, null),
50 new Among (
"dd", 0, 2, null),
51 new Among (
"ff", 0, 2, null),
52 new Among (
"gg", 0, 2, null),
53 new Among (
"bl", 0, 1, null),
54 new Among (
"mm", 0, 2, null),
55 new Among (
"nn", 0, 2, null),
56 new Among (
"pp", 0, 2, null),
57 new Among (
"rr", 0, 2, null),
58 new Among (
"at", 0, 1, null),
59 new Among (
"tt", 0, 2, null),
60 new Among (
"iz", 0, 1, null)
64 private readonly
static Among[] a_4 =
66 new Among (
"ed", -1, 2, null),
67 new Among (
"eed", 0, 1, null),
68 new Among (
"ing", -1, 2, null),
69 new Among (
"edly", -1, 2, null),
70 new Among (
"eedly", 3, 1, null),
71 new Among (
"ingly", -1, 2, null)
75 private readonly
static Among[] a_5 =
77 new Among (
"anci", -1, 3, null),
78 new Among (
"enci", -1, 2, null),
79 new Among (
"ogi", -1, 13, null),
80 new Among (
"li", -1, 16, null),
81 new Among (
"bli", 3, 12, null),
82 new Among (
"abli", 4, 4, null),
83 new Among (
"alli", 3, 8, null),
84 new Among (
"fulli", 3, 14, null),
85 new Among (
"lessli", 3, 15, null),
86 new Among (
"ousli", 3, 10, null),
87 new Among (
"entli", 3, 5, null),
88 new Among (
"aliti", -1, 8, null),
89 new Among (
"biliti", -1, 12, null),
90 new Among (
"iviti", -1, 11, null),
91 new Among (
"tional", -1, 1, null),
92 new Among (
"ational", 14, 7, null),
93 new Among (
"alism", -1, 8, null),
94 new Among (
"ation", -1, 7, null),
95 new Among (
"ization", 17, 6, null),
96 new Among (
"izer", -1, 6, null),
97 new Among (
"ator", -1, 7, null),
98 new Among (
"iveness", -1, 11, null),
99 new Among (
"fulness", -1, 9, null),
100 new Among (
"ousness", -1, 10, null)
106 private readonly
static Among[] a_6 =
108 new Among (
"icate", -1, 4, null),
109 new Among (
"ative", -1, 6, null),
110 new Among (
"alize", -1, 3, null),
111 new Among (
"iciti", -1, 4, null),
112 new Among (
"ical", -1, 4, null),
113 new Among (
"tional", -1, 1, null),
114 new Among (
"ational", 5, 2, null),
115 new Among (
"ful", -1, 5, null),
116 new Among (
"ness", -1, 5, null)
121 private readonly
static Among[] a_7 =
123 new Among (
"ic", -1, 1, null),
124 new Among (
"ance", -1, 1, null),
125 new Among (
"ence", -1, 1, null),
126 new Among (
"able", -1, 1, null),
127 new Among (
"ible", -1, 1, null),
128 new Among (
"ate", -1, 1, null),
129 new Among (
"ive", -1, 1, null),
130 new Among (
"ize", -1, 1, null),
131 new Among (
"iti", -1, 1, null),
132 new Among (
"al", -1, 1, null),
133 new Among (
"ism", -1, 1, null),
134 new Among (
"ion", -1, 2, null),
135 new Among (
"er", -1, 1, null),
136 new Among (
"ous", -1, 1, null),
137 new Among (
"ant", -1, 1, null),
138 new Among (
"ent", -1, 1, null),
139 new Among (
"ment", 15, 1, null),
140 new Among (
"ement", 16, 1, null)
146 private readonly
static Among[] a_8 =
148 new Among (
"e", -1, 1, null),
149 new Among (
"l", -1, 2, null)
153 private readonly
static Among[] a_9 =
155 new Among (
"succeed", -1, -1, null),
156 new Among (
"proceed", -1, -1, null),
157 new Among (
"exceed", -1, -1, null),
158 new Among (
"canning", -1, -1, null),
159 new Among (
"inning", -1, -1, null),
160 new Among (
"earring", -1, -1, null),
161 new Among (
"herring", -1, -1, null),
162 new Among (
"outing", -1, -1, null)
167 private readonly
static Among[] a_10 =
169 new Among (
"andes", -1, -1, null),
170 new Among (
"atlas", -1, -1, null),
171 new Among (
"bias", -1, -1, null),
172 new Among (
"cosmos", -1, -1, null),
173 new Among (
"dying", -1, 3, null),
174 new Among (
"early", -1, 9, null),
175 new Among (
"gently", -1, 7, null),
176 new Among (
"howe", -1, -1, null),
177 new Among (
"idly", -1, 6, null),
178 new Among (
"lying", -1, 4, null),
179 new Among (
"news", -1, -1, null),
180 new Among (
"only", -1, 10, null),
181 new Among (
"singly", -1, 11, null),
182 new Among (
"skies", -1, 2, null),
183 new Among (
"skis", -1, 1, null),
184 new Among (
"sky", -1, -1, null),
185 new Among (
"tying", -1, 5, null),
186 new Among (
"ugly", -1, 8, null)
191 private static readonly
char[] g_v = { (char)17, (
char)65, (char)16, (
char)1 };
193 private static readonly
char[] g_v_WXY = { (char)1, (
char)17, (char)65, (
char)208, (char)1 };
195 private static readonly
char[] g_valid_LI = { (char)55, (
char)141, (char)2 };
197 private bool B_Y_found;
204 B_Y_found = other.B_Y_found;
211 private bool r_prelude()
213 bool returnn =
false;
214 bool subroot =
false;
281 if (!(in_grouping(g_v, 97, 121)))
298 if (subroot) { subroot =
false;
break; }
308 if (subroot) { subroot =
false;
break; }
327 private bool r_mark_regions()
329 bool subroot =
false;
347 if (find_among(a_0, 3) == 0)
354 if (subroot) { subroot =
false;
break; }
362 if (!(in_grouping(g_v, 97, 121)))
369 if (subroot) { subroot =
false;
break; }
381 if (!(out_grouping(g_v, 97, 121)))
389 if (subroot) { subroot =
false;
break; }
404 if (!(in_grouping(g_v, 97, 121)))
411 if (subroot) { subroot =
false;
break; }
423 if (!(out_grouping(g_v, 97, 121)))
430 if (subroot) { subroot =
false;
break; }
446 private bool r_shortv()
448 bool subroot =
false;
455 v_1 = limit - cursor;
459 if (!(out_grouping_b(g_v_WXY, 89, 121)))
463 if (!(in_grouping_b(g_v, 97, 121)))
467 if (!(out_grouping_b(g_v, 97, 121)))
474 if (subroot) { subroot =
false;
break; }
475 cursor = limit - v_1;
477 if (!(out_grouping_b(g_v, 97, 121)))
481 if (!(in_grouping_b(g_v, 97, 121)))
486 if (cursor > limit_backward)
496 if (!(I_p1 <= cursor))
505 if (!(I_p2 <= cursor))
513 private bool r_Step_1a()
515 bool subroot =
false;
521 v_1 = limit - cursor;
528 among_var = find_among_b(a_1, 3);
531 cursor = limit - v_1;
539 cursor = limit - v_1;
548 if (subroot) { subroot =
false;
break; }
553 among_var = find_among_b(a_2, 6);
575 v_2 = limit - cursor;
582 if (limit_backward > c || c > limit)
593 if (subroot) { subroot =
false;
break; }
594 cursor = limit - v_2;
602 if (cursor <= limit_backward)
612 if (!(in_grouping_b(g_v, 97, 121)))
619 if (subroot) { subroot =
false;
break; }
620 if (cursor <= limit_backward)
634 private bool r_Step_1b()
636 bool subroot =
false;
645 among_var = find_among_b(a_4, 6);
669 v_1 = limit - cursor;
675 if (!(in_grouping_b(g_v, 97, 121)))
682 if (subroot) { subroot =
false;
break; }
683 if (cursor <= limit_backward)
689 cursor = limit - v_1;
693 v_3 = limit - cursor;
695 among_var = find_among_b(a_3, 13);
700 cursor = limit - v_3;
710 insert(cursor, cursor,
"e");
719 if (cursor <= limit_backward)
737 v_4 = limit - cursor;
743 cursor = limit - v_4;
747 insert(cursor, cursor,
"e");
758 private bool r_Step_1c()
760 bool returnn =
false;
761 bool subroot =
false;
771 v_1 = limit - cursor;
775 if (!(eq_s_b(1,
"y")))
782 if (subroot) { subroot =
false;
break; }
783 cursor = limit - v_1;
785 if (!(eq_s_b(1,
"Y")))
792 if (!(out_grouping_b(g_v, 97, 121)))
798 v_2 = limit - cursor;
803 if (cursor > limit_backward)
812 cursor = limit - v_2;
820 private bool r_Step_2()
827 among_var = find_among_b(a_5, 24);
906 if (!(eq_s_b(1,
"l")))
925 if (!(in_grouping_b(g_valid_LI, 99, 116)))
937 private bool r_Step_3()
944 among_var = find_among_b(a_6, 9);
1000 private bool r_Step_4()
1002 bool subroot =
false;
1009 among_var = find_among_b(a_7, 18);
1035 v_1 = limit - cursor;
1039 if (!(eq_s_b(1,
"s")))
1046 if (subroot) { subroot =
false;
break; }
1047 cursor = limit - v_1;
1049 if (!(eq_s_b(1,
"t")))
1062 private bool r_Step_5()
1064 bool returnn =
false;
1065 bool subroot =
false;
1073 among_var = find_among_b(a_8, 2);
1089 v_1 = limit - cursor;
1100 if (subroot) { subroot =
false;
break; }
1101 cursor = limit - v_1;
1110 v_2 = limit - cursor;
1124 cursor = limit - v_2;
1138 if (!(eq_s_b(1,
"l")))
1150 private bool r_exception2()
1156 if (find_among_b(a_9, 8) == 0)
1163 if (cursor > limit_backward)
1171 private bool r_exception1()
1178 among_var = find_among(a_10, 18);
1227 slice_from(
"gentl");
1237 slice_from(
"earli");
1247 slice_from(
"singl");
1254 private bool r_postlude()
1256 bool returnn =
false;
1257 bool subroot =
false;
1267 replab0:
while (
true)
1283 if (!(eq_s(1,
"Y")))
1293 if (subroot) { subroot =
false;
break; }
1295 if (cursor >= limit)
1303 if (subroot) { subroot =
false;
break; }
1323 bool returnn =
true;
1324 bool subroot =
false;
1346 if (!r_exception1())
1353 if (subroot) { subroot =
false;
break; }
1365 if (0 > c || c > limit)
1374 if (subroot) { subroot =
false;
break; }
1378 if (returnn)
goto breaklab0;
1398 if (!r_mark_regions())
1405 limit_backward = cursor; cursor = limit;
1408 v_5 = limit - cursor;
1417 cursor = limit - v_5;
1421 v_6 = limit - cursor;
1425 if (!r_exception2())
1432 if (subroot) { subroot =
false;
break; }
1433 cursor = limit - v_6;
1436 v_7 = limit - cursor;
1445 cursor = limit - v_7;
1447 v_8 = limit - cursor;
1456 cursor = limit - v_8;
1458 v_9 = limit - cursor;
1467 cursor = limit - v_9;
1469 v_10 = limit - cursor;
1478 cursor = limit - v_10;
1480 v_11 = limit - cursor;
1489 cursor = limit - v_11;
1491 v_12 = limit - cursor;
1500 cursor = limit - v_12;
1502 cursor = limit_backward;
1525 this.setCurrent(s.ToLowerInvariant());
1527 return this.getCurrent();