1 // This file was generated automatically by the Snowball to Java compiler
3 package org
.tartarus
.snowball
.ext
;
4 import org
.tartarus
.snowball
.SnowballProgram
;
5 import org
.tartarus
.snowball
.Among
;
8 * Generated class implementing code defined by a snowball script.
10 public class hungarianStemmer
extends SnowballProgram
{
12 private Among a_0
[] = {
13 new Among ( "cs", -1, -1, "", this),
14 new Among ( "dzs", -1, -1, "", this),
15 new Among ( "gy", -1, -1, "", this),
16 new Among ( "ly", -1, -1, "", this),
17 new Among ( "ny", -1, -1, "", this),
18 new Among ( "sz", -1, -1, "", this),
19 new Among ( "ty", -1, -1, "", this),
20 new Among ( "zs", -1, -1, "", this)
23 private Among a_1
[] = {
24 new Among ( "\u00E1", -1, 1, "", this),
25 new Among ( "\u00E9", -1, 2, "", this)
28 private Among a_2
[] = {
29 new Among ( "bb", -1, -1, "", this),
30 new Among ( "cc", -1, -1, "", this),
31 new Among ( "dd", -1, -1, "", this),
32 new Among ( "ff", -1, -1, "", this),
33 new Among ( "gg", -1, -1, "", this),
34 new Among ( "jj", -1, -1, "", this),
35 new Among ( "kk", -1, -1, "", this),
36 new Among ( "ll", -1, -1, "", this),
37 new Among ( "mm", -1, -1, "", this),
38 new Among ( "nn", -1, -1, "", this),
39 new Among ( "pp", -1, -1, "", this),
40 new Among ( "rr", -1, -1, "", this),
41 new Among ( "ccs", -1, -1, "", this),
42 new Among ( "ss", -1, -1, "", this),
43 new Among ( "zzs", -1, -1, "", this),
44 new Among ( "tt", -1, -1, "", this),
45 new Among ( "vv", -1, -1, "", this),
46 new Among ( "ggy", -1, -1, "", this),
47 new Among ( "lly", -1, -1, "", this),
48 new Among ( "nny", -1, -1, "", this),
49 new Among ( "tty", -1, -1, "", this),
50 new Among ( "ssz", -1, -1, "", this),
51 new Among ( "zz", -1, -1, "", this)
54 private Among a_3
[] = {
55 new Among ( "al", -1, 1, "", this),
56 new Among ( "el", -1, 2, "", this)
59 private Among a_4
[] = {
60 new Among ( "ba", -1, -1, "", this),
61 new Among ( "ra", -1, -1, "", this),
62 new Among ( "be", -1, -1, "", this),
63 new Among ( "re", -1, -1, "", this),
64 new Among ( "ig", -1, -1, "", this),
65 new Among ( "nak", -1, -1, "", this),
66 new Among ( "nek", -1, -1, "", this),
67 new Among ( "val", -1, -1, "", this),
68 new Among ( "vel", -1, -1, "", this),
69 new Among ( "ul", -1, -1, "", this),
70 new Among ( "n\u00E1l", -1, -1, "", this),
71 new Among ( "n\u00E9l", -1, -1, "", this),
72 new Among ( "b\u00F3l", -1, -1, "", this),
73 new Among ( "r\u00F3l", -1, -1, "", this),
74 new Among ( "t\u00F3l", -1, -1, "", this),
75 new Among ( "b\u00F5l", -1, -1, "", this),
76 new Among ( "r\u00F5l", -1, -1, "", this),
77 new Among ( "t\u00F5l", -1, -1, "", this),
78 new Among ( "\u00FCl", -1, -1, "", this),
79 new Among ( "n", -1, -1, "", this),
80 new Among ( "an", 19, -1, "", this),
81 new Among ( "ban", 20, -1, "", this),
82 new Among ( "en", 19, -1, "", this),
83 new Among ( "ben", 22, -1, "", this),
84 new Among ( "k\u00E9ppen", 22, -1, "", this),
85 new Among ( "on", 19, -1, "", this),
86 new Among ( "\u00F6n", 19, -1, "", this),
87 new Among ( "k\u00E9pp", -1, -1, "", this),
88 new Among ( "kor", -1, -1, "", this),
89 new Among ( "t", -1, -1, "", this),
90 new Among ( "at", 29, -1, "", this),
91 new Among ( "et", 29, -1, "", this),
92 new Among ( "k\u00E9nt", 29, -1, "", this),
93 new Among ( "ank\u00E9nt", 32, -1, "", this),
94 new Among ( "enk\u00E9nt", 32, -1, "", this),
95 new Among ( "onk\u00E9nt", 32, -1, "", this),
96 new Among ( "ot", 29, -1, "", this),
97 new Among ( "\u00E9rt", 29, -1, "", this),
98 new Among ( "\u00F6t", 29, -1, "", this),
99 new Among ( "hez", -1, -1, "", this),
100 new Among ( "hoz", -1, -1, "", this),
101 new Among ( "h\u00F6z", -1, -1, "", this),
102 new Among ( "v\u00E1", -1, -1, "", this),
103 new Among ( "v\u00E9", -1, -1, "", this)
106 private Among a_5
[] = {
107 new Among ( "\u00E1n", -1, 2, "", this),
108 new Among ( "\u00E9n", -1, 1, "", this),
109 new Among ( "\u00E1nk\u00E9nt", -1, 3, "", this)
112 private Among a_6
[] = {
113 new Among ( "stul", -1, 2, "", this),
114 new Among ( "astul", 0, 1, "", this),
115 new Among ( "\u00E1stul", 0, 3, "", this),
116 new Among ( "st\u00FCl", -1, 2, "", this),
117 new Among ( "est\u00FCl", 3, 1, "", this),
118 new Among ( "\u00E9st\u00FCl", 3, 4, "", this)
121 private Among a_7
[] = {
122 new Among ( "\u00E1", -1, 1, "", this),
123 new Among ( "\u00E9", -1, 2, "", this)
126 private Among a_8
[] = {
127 new Among ( "k", -1, 7, "", this),
128 new Among ( "ak", 0, 4, "", this),
129 new Among ( "ek", 0, 6, "", this),
130 new Among ( "ok", 0, 5, "", this),
131 new Among ( "\u00E1k", 0, 1, "", this),
132 new Among ( "\u00E9k", 0, 2, "", this),
133 new Among ( "\u00F6k", 0, 3, "", this)
136 private Among a_9
[] = {
137 new Among ( "\u00E9i", -1, 7, "", this),
138 new Among ( "\u00E1\u00E9i", 0, 6, "", this),
139 new Among ( "\u00E9\u00E9i", 0, 5, "", this),
140 new Among ( "\u00E9", -1, 9, "", this),
141 new Among ( "k\u00E9", 3, 4, "", this),
142 new Among ( "ak\u00E9", 4, 1, "", this),
143 new Among ( "ek\u00E9", 4, 1, "", this),
144 new Among ( "ok\u00E9", 4, 1, "", this),
145 new Among ( "\u00E1k\u00E9", 4, 3, "", this),
146 new Among ( "\u00E9k\u00E9", 4, 2, "", this),
147 new Among ( "\u00F6k\u00E9", 4, 1, "", this),
148 new Among ( "\u00E9\u00E9", 3, 8, "", this)
151 private Among a_10
[] = {
152 new Among ( "a", -1, 18, "", this),
153 new Among ( "ja", 0, 17, "", this),
154 new Among ( "d", -1, 16, "", this),
155 new Among ( "ad", 2, 13, "", this),
156 new Among ( "ed", 2, 13, "", this),
157 new Among ( "od", 2, 13, "", this),
158 new Among ( "\u00E1d", 2, 14, "", this),
159 new Among ( "\u00E9d", 2, 15, "", this),
160 new Among ( "\u00F6d", 2, 13, "", this),
161 new Among ( "e", -1, 18, "", this),
162 new Among ( "je", 9, 17, "", this),
163 new Among ( "nk", -1, 4, "", this),
164 new Among ( "unk", 11, 1, "", this),
165 new Among ( "\u00E1nk", 11, 2, "", this),
166 new Among ( "\u00E9nk", 11, 3, "", this),
167 new Among ( "\u00FCnk", 11, 1, "", this),
168 new Among ( "uk", -1, 8, "", this),
169 new Among ( "juk", 16, 7, "", this),
170 new Among ( "\u00E1juk", 17, 5, "", this),
171 new Among ( "\u00FCk", -1, 8, "", this),
172 new Among ( "j\u00FCk", 19, 7, "", this),
173 new Among ( "\u00E9j\u00FCk", 20, 6, "", this),
174 new Among ( "m", -1, 12, "", this),
175 new Among ( "am", 22, 9, "", this),
176 new Among ( "em", 22, 9, "", this),
177 new Among ( "om", 22, 9, "", this),
178 new Among ( "\u00E1m", 22, 10, "", this),
179 new Among ( "\u00E9m", 22, 11, "", this),
180 new Among ( "o", -1, 18, "", this),
181 new Among ( "\u00E1", -1, 19, "", this),
182 new Among ( "\u00E9", -1, 20, "", this)
185 private Among a_11
[] = {
186 new Among ( "id", -1, 10, "", this),
187 new Among ( "aid", 0, 9, "", this),
188 new Among ( "jaid", 1, 6, "", this),
189 new Among ( "eid", 0, 9, "", this),
190 new Among ( "jeid", 3, 6, "", this),
191 new Among ( "\u00E1id", 0, 7, "", this),
192 new Among ( "\u00E9id", 0, 8, "", this),
193 new Among ( "i", -1, 15, "", this),
194 new Among ( "ai", 7, 14, "", this),
195 new Among ( "jai", 8, 11, "", this),
196 new Among ( "ei", 7, 14, "", this),
197 new Among ( "jei", 10, 11, "", this),
198 new Among ( "\u00E1i", 7, 12, "", this),
199 new Among ( "\u00E9i", 7, 13, "", this),
200 new Among ( "itek", -1, 24, "", this),
201 new Among ( "eitek", 14, 21, "", this),
202 new Among ( "jeitek", 15, 20, "", this),
203 new Among ( "\u00E9itek", 14, 23, "", this),
204 new Among ( "ik", -1, 29, "", this),
205 new Among ( "aik", 18, 26, "", this),
206 new Among ( "jaik", 19, 25, "", this),
207 new Among ( "eik", 18, 26, "", this),
208 new Among ( "jeik", 21, 25, "", this),
209 new Among ( "\u00E1ik", 18, 27, "", this),
210 new Among ( "\u00E9ik", 18, 28, "", this),
211 new Among ( "ink", -1, 20, "", this),
212 new Among ( "aink", 25, 17, "", this),
213 new Among ( "jaink", 26, 16, "", this),
214 new Among ( "eink", 25, 17, "", this),
215 new Among ( "jeink", 28, 16, "", this),
216 new Among ( "\u00E1ink", 25, 18, "", this),
217 new Among ( "\u00E9ink", 25, 19, "", this),
218 new Among ( "aitok", -1, 21, "", this),
219 new Among ( "jaitok", 32, 20, "", this),
220 new Among ( "\u00E1itok", -1, 22, "", this),
221 new Among ( "im", -1, 5, "", this),
222 new Among ( "aim", 35, 4, "", this),
223 new Among ( "jaim", 36, 1, "", this),
224 new Among ( "eim", 35, 4, "", this),
225 new Among ( "jeim", 38, 1, "", this),
226 new Among ( "\u00E1im", 35, 2, "", this),
227 new Among ( "\u00E9im", 35, 3, "", this)
230 private static final char g_v
[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };
234 private void copy_from(hungarianStemmer other
) {
236 super.copy_from(other
);
239 private boolean r_mark_regions() {
250 if (!(in_grouping(g_v
, 97, 252)))
259 if (!(out_grouping(g_v
, 97, 252)))
278 if (find_among(a_0
, 8) == 0)
292 // setmark p1, line 50
298 if (!(out_grouping(g_v
, 97, 252)))
306 if (!(in_grouping(g_v
, 97, 252)))
318 // setmark p1, line 53
324 private boolean r_R1() {
325 if (!(I_p1
<= cursor
))
332 private boolean r_v_ending() {
337 // substring, line 61
338 among_var
= find_among_b(a_1
, 2);
367 private boolean r_double() {
371 v_1
= limit
- cursor
;
373 if (find_among_b(a_2
, 23) == 0)
377 cursor
= limit
- v_1
;
381 private boolean r_undouble() {
384 if (cursor
<= limit_backward
)
394 if (limit_backward
> c
|| c
> limit
)
407 private boolean r_instrum() {
412 // substring, line 77
413 among_var
= find_among_b(a_3
, 2);
430 // call double, line 78
438 // call double, line 79
447 // call undouble, line 82
455 private boolean r_case() {
459 // substring, line 87
460 if (find_among_b(a_4
, 44) == 0)
473 // call v_ending, line 112
481 private boolean r_case_special() {
486 // substring, line 116
487 among_var
= find_among_b(a_5
, 3);
521 private boolean r_case_other() {
526 // substring, line 124
527 among_var
= find_among_b(a_6
, 6);
566 private boolean r_factive() {
571 // substring, line 133
572 among_var
= find_among_b(a_7
, 2);
589 // call double, line 134
597 // call double, line 135
606 // call undouble, line 138
614 private boolean r_plural() {
619 // substring, line 142
620 among_var
= find_among_b(a_8
, 7);
674 private boolean r_owned() {
679 // substring, line 154
680 among_var
= find_among_b(a_9
, 12);
744 private boolean r_sing_owner() {
749 // substring, line 168
750 among_var
= find_among_b(a_10
, 31);
869 private boolean r_plur_owner() {
874 // substring, line 193
875 among_var
= find_among_b(a_11
, 42);
1039 public boolean stem() {
1054 // call mark_regions, line 229
1055 if (!r_mark_regions())
1061 // backwards, line 230
1062 limit_backward
= cursor
; cursor
= limit
;
1065 v_2
= limit
- cursor
;
1067 // call instrum, line 231
1073 cursor
= limit
- v_2
;
1075 v_3
= limit
- cursor
;
1077 // call case, line 232
1083 cursor
= limit
- v_3
;
1085 v_4
= limit
- cursor
;
1087 // call case_special, line 233
1088 if (!r_case_special())
1093 cursor
= limit
- v_4
;
1095 v_5
= limit
- cursor
;
1097 // call case_other, line 234
1098 if (!r_case_other())
1103 cursor
= limit
- v_5
;
1105 v_6
= limit
- cursor
;
1107 // call factive, line 235
1113 cursor
= limit
- v_6
;
1115 v_7
= limit
- cursor
;
1117 // call owned, line 236
1123 cursor
= limit
- v_7
;
1125 v_8
= limit
- cursor
;
1127 // call sing_owner, line 237
1128 if (!r_sing_owner())
1133 cursor
= limit
- v_8
;
1135 v_9
= limit
- cursor
;
1137 // call plur_owner, line 238
1138 if (!r_plur_owner())
1143 cursor
= limit
- v_9
;
1145 v_10
= limit
- cursor
;
1147 // call plural, line 239
1153 cursor
= limit
- v_10
;
1154 cursor
= limit_backward
; return true;