Line data Source code
1 : /* Generated from lithuanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2 :
3 : #include "stem_UTF_8_lithuanian.h"
4 :
5 : #include <stddef.h>
6 :
7 : #include "snowball_runtime.h"
8 :
9 : struct SN_local {
10 : struct SN_env z;
11 : int i_p1;
12 : };
13 :
14 : typedef struct SN_local SN_local;
15 :
16 : #ifdef __cplusplus
17 : extern "C" {
18 : #endif
19 : extern int lithuanian_UTF_8_stem(struct SN_env * z);
20 : #ifdef __cplusplus
21 : }
22 : #endif
23 :
24 : static int r_fix_conflicts(struct SN_env * z);
25 : static int r_fix_gd(struct SN_env * z);
26 : static int r_fix_chdz(struct SN_env * z);
27 : static int r_step1(struct SN_env * z);
28 : static int r_step2(struct SN_env * z);
29 :
30 : static const symbol s_0[] = { 'a', 'i', 't', 0xC4, 0x97 };
31 : static const symbol s_1[] = { 'u', 'o', 't', 0xC4, 0x97 };
32 : static const symbol s_2[] = { 0xC4, 0x97, 'j', 'i', 'm', 'a', 's' };
33 : static const symbol s_3[] = { 'e', 's', 'y', 's' };
34 : static const symbol s_4[] = { 'a', 's', 'y', 's' };
35 : static const symbol s_5[] = { 'a', 'v', 'i', 'm', 'a', 's' };
36 : static const symbol s_6[] = { 'o', 'j', 'i', 'm', 'a', 's' };
37 : static const symbol s_7[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 };
38 : static const symbol s_8[] = { 't' };
39 : static const symbol s_9[] = { 'd' };
40 : static const symbol s_10[] = { 'g', 'd' };
41 : static const symbol s_11[] = { 'g' };
42 :
43 : static const symbol s_0_0[1] = { 'a' };
44 : static const symbol s_0_1[2] = { 'i', 'a' };
45 : static const symbol s_0_2[4] = { 'o', 's', 'n', 'a' };
46 : static const symbol s_0_3[5] = { 'i', 'o', 's', 'n', 'a' };
47 : static const symbol s_0_4[5] = { 'u', 'o', 's', 'n', 'a' };
48 : static const symbol s_0_5[6] = { 'i', 'u', 'o', 's', 'n', 'a' };
49 : static const symbol s_0_6[4] = { 'y', 's', 'n', 'a' };
50 : static const symbol s_0_7[5] = { 0xC4, 0x97, 's', 'n', 'a' };
51 : static const symbol s_0_8[1] = { 'e' };
52 : static const symbol s_0_9[2] = { 'i', 'e' };
53 : static const symbol s_0_10[4] = { 'e', 'n', 'i', 'e' };
54 : static const symbol s_0_11[3] = { 'o', 'j', 'e' };
55 : static const symbol s_0_12[4] = { 'i', 'o', 'j', 'e' };
56 : static const symbol s_0_13[3] = { 'u', 'j', 'e' };
57 : static const symbol s_0_14[4] = { 'i', 'u', 'j', 'e' };
58 : static const symbol s_0_15[3] = { 'y', 'j', 'e' };
59 : static const symbol s_0_16[5] = { 'e', 'n', 'y', 'j', 'e' };
60 : static const symbol s_0_17[4] = { 0xC4, 0x97, 'j', 'e' };
61 : static const symbol s_0_18[3] = { 'a', 'm', 'e' };
62 : static const symbol s_0_19[4] = { 'i', 'a', 'm', 'e' };
63 : static const symbol s_0_20[4] = { 's', 'i', 'm', 'e' };
64 : static const symbol s_0_21[3] = { 'o', 'm', 'e' };
65 : static const symbol s_0_22[4] = { 0xC4, 0x97, 'm', 'e' };
66 : static const symbol s_0_23[7] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 'e' };
67 : static const symbol s_0_24[3] = { 'o', 's', 'e' };
68 : static const symbol s_0_25[4] = { 'i', 'o', 's', 'e' };
69 : static const symbol s_0_26[4] = { 'u', 'o', 's', 'e' };
70 : static const symbol s_0_27[5] = { 'i', 'u', 'o', 's', 'e' };
71 : static const symbol s_0_28[3] = { 'y', 's', 'e' };
72 : static const symbol s_0_29[5] = { 'e', 'n', 'y', 's', 'e' };
73 : static const symbol s_0_30[4] = { 0xC4, 0x97, 's', 'e' };
74 : static const symbol s_0_31[3] = { 'a', 't', 'e' };
75 : static const symbol s_0_32[4] = { 'i', 'a', 't', 'e' };
76 : static const symbol s_0_33[3] = { 'i', 't', 'e' };
77 : static const symbol s_0_34[4] = { 'k', 'i', 't', 'e' };
78 : static const symbol s_0_35[4] = { 's', 'i', 't', 'e' };
79 : static const symbol s_0_36[3] = { 'o', 't', 'e' };
80 : static const symbol s_0_37[4] = { 't', 'u', 't', 'e' };
81 : static const symbol s_0_38[4] = { 0xC4, 0x97, 't', 'e' };
82 : static const symbol s_0_39[7] = { 't', 'u', 'm', 0xC4, 0x97, 't', 'e' };
83 : static const symbol s_0_40[1] = { 'i' };
84 : static const symbol s_0_41[2] = { 'a', 'i' };
85 : static const symbol s_0_42[3] = { 'i', 'a', 'i' };
86 : static const symbol s_0_43[2] = { 'e', 'i' };
87 : static const symbol s_0_44[5] = { 't', 'u', 'm', 'e', 'i' };
88 : static const symbol s_0_45[2] = { 'k', 'i' };
89 : static const symbol s_0_46[3] = { 'i', 'm', 'i' };
90 : static const symbol s_0_47[3] = { 'u', 'm', 'i' };
91 : static const symbol s_0_48[4] = { 'i', 'u', 'm', 'i' };
92 : static const symbol s_0_49[2] = { 's', 'i' };
93 : static const symbol s_0_50[3] = { 'a', 's', 'i' };
94 : static const symbol s_0_51[4] = { 'i', 'a', 's', 'i' };
95 : static const symbol s_0_52[3] = { 'e', 's', 'i' };
96 : static const symbol s_0_53[4] = { 'i', 'e', 's', 'i' };
97 : static const symbol s_0_54[5] = { 's', 'i', 'e', 's', 'i' };
98 : static const symbol s_0_55[3] = { 'i', 's', 'i' };
99 : static const symbol s_0_56[4] = { 'a', 'i', 's', 'i' };
100 : static const symbol s_0_57[4] = { 'e', 'i', 's', 'i' };
101 : static const symbol s_0_58[7] = { 't', 'u', 'm', 'e', 'i', 's', 'i' };
102 : static const symbol s_0_59[4] = { 'u', 'i', 's', 'i' };
103 : static const symbol s_0_60[3] = { 'o', 's', 'i' };
104 : static const symbol s_0_61[6] = { 0xC4, 0x97, 'j', 'o', 's', 'i' };
105 : static const symbol s_0_62[4] = { 'u', 'o', 's', 'i' };
106 : static const symbol s_0_63[5] = { 'i', 'u', 'o', 's', 'i' };
107 : static const symbol s_0_64[6] = { 's', 'i', 'u', 'o', 's', 'i' };
108 : static const symbol s_0_65[3] = { 'u', 's', 'i' };
109 : static const symbol s_0_66[4] = { 'a', 'u', 's', 'i' };
110 : static const symbol s_0_67[7] = { 0xC4, 0x8D, 'i', 'a', 'u', 's', 'i' };
111 : static const symbol s_0_68[4] = { 0xC4, 0x85, 's', 'i' };
112 : static const symbol s_0_69[4] = { 0xC4, 0x97, 's', 'i' };
113 : static const symbol s_0_70[4] = { 0xC5, 0xB3, 's', 'i' };
114 : static const symbol s_0_71[5] = { 't', 0xC5, 0xB3, 's', 'i' };
115 : static const symbol s_0_72[2] = { 't', 'i' };
116 : static const symbol s_0_73[4] = { 'e', 'n', 't', 'i' };
117 : static const symbol s_0_74[4] = { 'i', 'n', 't', 'i' };
118 : static const symbol s_0_75[3] = { 'o', 't', 'i' };
119 : static const symbol s_0_76[4] = { 'i', 'o', 't', 'i' };
120 : static const symbol s_0_77[4] = { 'u', 'o', 't', 'i' };
121 : static const symbol s_0_78[5] = { 'i', 'u', 'o', 't', 'i' };
122 : static const symbol s_0_79[4] = { 'a', 'u', 't', 'i' };
123 : static const symbol s_0_80[5] = { 'i', 'a', 'u', 't', 'i' };
124 : static const symbol s_0_81[3] = { 'y', 't', 'i' };
125 : static const symbol s_0_82[4] = { 0xC4, 0x97, 't', 'i' };
126 : static const symbol s_0_83[7] = { 't', 'e', 'l', 0xC4, 0x97, 't', 'i' };
127 : static const symbol s_0_84[6] = { 'i', 'n', 0xC4, 0x97, 't', 'i' };
128 : static const symbol s_0_85[7] = { 't', 'e', 'r', 0xC4, 0x97, 't', 'i' };
129 : static const symbol s_0_86[2] = { 'u', 'i' };
130 : static const symbol s_0_87[3] = { 'i', 'u', 'i' };
131 : static const symbol s_0_88[5] = { 'e', 'n', 'i', 'u', 'i' };
132 : static const symbol s_0_89[2] = { 'o', 'j' };
133 : static const symbol s_0_90[3] = { 0xC4, 0x97, 'j' };
134 : static const symbol s_0_91[1] = { 'k' };
135 : static const symbol s_0_92[2] = { 'a', 'm' };
136 : static const symbol s_0_93[3] = { 'i', 'a', 'm' };
137 : static const symbol s_0_94[3] = { 'i', 'e', 'm' };
138 : static const symbol s_0_95[2] = { 'i', 'm' };
139 : static const symbol s_0_96[3] = { 's', 'i', 'm' };
140 : static const symbol s_0_97[2] = { 'o', 'm' };
141 : static const symbol s_0_98[3] = { 't', 'u', 'm' };
142 : static const symbol s_0_99[3] = { 0xC4, 0x97, 'm' };
143 : static const symbol s_0_100[6] = { 't', 'u', 'm', 0xC4, 0x97, 'm' };
144 : static const symbol s_0_101[2] = { 'a', 'n' };
145 : static const symbol s_0_102[2] = { 'o', 'n' };
146 : static const symbol s_0_103[3] = { 'i', 'o', 'n' };
147 : static const symbol s_0_104[2] = { 'u', 'n' };
148 : static const symbol s_0_105[3] = { 'i', 'u', 'n' };
149 : static const symbol s_0_106[3] = { 0xC4, 0x97, 'n' };
150 : static const symbol s_0_107[1] = { 'o' };
151 : static const symbol s_0_108[2] = { 'i', 'o' };
152 : static const symbol s_0_109[4] = { 'e', 'n', 'i', 'o' };
153 : static const symbol s_0_110[4] = { 0xC4, 0x97, 'j', 'o' };
154 : static const symbol s_0_111[2] = { 'u', 'o' };
155 : static const symbol s_0_112[1] = { 's' };
156 : static const symbol s_0_113[2] = { 'a', 's' };
157 : static const symbol s_0_114[3] = { 'i', 'a', 's' };
158 : static const symbol s_0_115[2] = { 'e', 's' };
159 : static const symbol s_0_116[3] = { 'i', 'e', 's' };
160 : static const symbol s_0_117[2] = { 'i', 's' };
161 : static const symbol s_0_118[3] = { 'a', 'i', 's' };
162 : static const symbol s_0_119[4] = { 'i', 'a', 'i', 's' };
163 : static const symbol s_0_120[6] = { 't', 'u', 'm', 'e', 'i', 's' };
164 : static const symbol s_0_121[4] = { 'i', 'm', 'i', 's' };
165 : static const symbol s_0_122[6] = { 'e', 'n', 'i', 'm', 'i', 's' };
166 : static const symbol s_0_123[4] = { 'o', 'm', 'i', 's' };
167 : static const symbol s_0_124[5] = { 'i', 'o', 'm', 'i', 's' };
168 : static const symbol s_0_125[4] = { 'u', 'm', 'i', 's' };
169 : static const symbol s_0_126[5] = { 0xC4, 0x97, 'm', 'i', 's' };
170 : static const symbol s_0_127[4] = { 'e', 'n', 'i', 's' };
171 : static const symbol s_0_128[4] = { 'a', 's', 'i', 's' };
172 : static const symbol s_0_129[4] = { 'y', 's', 'i', 's' };
173 : static const symbol s_0_130[3] = { 'a', 'm', 's' };
174 : static const symbol s_0_131[4] = { 'i', 'a', 'm', 's' };
175 : static const symbol s_0_132[4] = { 'i', 'e', 'm', 's' };
176 : static const symbol s_0_133[3] = { 'i', 'm', 's' };
177 : static const symbol s_0_134[5] = { 'e', 'n', 'i', 'm', 's' };
178 : static const symbol s_0_135[3] = { 'o', 'm', 's' };
179 : static const symbol s_0_136[4] = { 'i', 'o', 'm', 's' };
180 : static const symbol s_0_137[3] = { 'u', 'm', 's' };
181 : static const symbol s_0_138[4] = { 0xC4, 0x97, 'm', 's' };
182 : static const symbol s_0_139[3] = { 'e', 'n', 's' };
183 : static const symbol s_0_140[2] = { 'o', 's' };
184 : static const symbol s_0_141[3] = { 'i', 'o', 's' };
185 : static const symbol s_0_142[3] = { 'u', 'o', 's' };
186 : static const symbol s_0_143[4] = { 'i', 'u', 'o', 's' };
187 : static const symbol s_0_144[2] = { 'u', 's' };
188 : static const symbol s_0_145[3] = { 'a', 'u', 's' };
189 : static const symbol s_0_146[4] = { 'i', 'a', 'u', 's' };
190 : static const symbol s_0_147[3] = { 'i', 'u', 's' };
191 : static const symbol s_0_148[2] = { 'y', 's' };
192 : static const symbol s_0_149[4] = { 'e', 'n', 'y', 's' };
193 : static const symbol s_0_150[3] = { 0xC4, 0x85, 's' };
194 : static const symbol s_0_151[4] = { 'i', 0xC4, 0x85, 's' };
195 : static const symbol s_0_152[3] = { 0xC4, 0x97, 's' };
196 : static const symbol s_0_153[5] = { 'a', 'm', 0xC4, 0x97, 's' };
197 : static const symbol s_0_154[6] = { 'i', 'a', 'm', 0xC4, 0x97, 's' };
198 : static const symbol s_0_155[5] = { 'i', 'm', 0xC4, 0x97, 's' };
199 : static const symbol s_0_156[6] = { 'k', 'i', 'm', 0xC4, 0x97, 's' };
200 : static const symbol s_0_157[6] = { 's', 'i', 'm', 0xC4, 0x97, 's' };
201 : static const symbol s_0_158[5] = { 'o', 'm', 0xC4, 0x97, 's' };
202 : static const symbol s_0_159[6] = { 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
203 : static const symbol s_0_160[9] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
204 : static const symbol s_0_161[5] = { 'a', 't', 0xC4, 0x97, 's' };
205 : static const symbol s_0_162[6] = { 'i', 'a', 't', 0xC4, 0x97, 's' };
206 : static const symbol s_0_163[6] = { 's', 'i', 't', 0xC4, 0x97, 's' };
207 : static const symbol s_0_164[5] = { 'o', 't', 0xC4, 0x97, 's' };
208 : static const symbol s_0_165[6] = { 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
209 : static const symbol s_0_166[9] = { 't', 'u', 'm', 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
210 : static const symbol s_0_167[3] = { 0xC5, 0xAB, 's' };
211 : static const symbol s_0_168[3] = { 0xC4, 0xAF, 's' };
212 : static const symbol s_0_169[4] = { 't', 0xC5, 0xB3, 's' };
213 : static const symbol s_0_170[2] = { 'a', 't' };
214 : static const symbol s_0_171[3] = { 'i', 'a', 't' };
215 : static const symbol s_0_172[2] = { 'i', 't' };
216 : static const symbol s_0_173[3] = { 's', 'i', 't' };
217 : static const symbol s_0_174[2] = { 'o', 't' };
218 : static const symbol s_0_175[3] = { 0xC4, 0x97, 't' };
219 : static const symbol s_0_176[6] = { 't', 'u', 'm', 0xC4, 0x97, 't' };
220 : static const symbol s_0_177[1] = { 'u' };
221 : static const symbol s_0_178[2] = { 'a', 'u' };
222 : static const symbol s_0_179[3] = { 'i', 'a', 'u' };
223 : static const symbol s_0_180[5] = { 0xC4, 0x8D, 'i', 'a', 'u' };
224 : static const symbol s_0_181[2] = { 'i', 'u' };
225 : static const symbol s_0_182[4] = { 'e', 'n', 'i', 'u' };
226 : static const symbol s_0_183[3] = { 's', 'i', 'u' };
227 : static const symbol s_0_184[1] = { 'y' };
228 : static const symbol s_0_185[2] = { 0xC4, 0x85 };
229 : static const symbol s_0_186[3] = { 'i', 0xC4, 0x85 };
230 : static const symbol s_0_187[2] = { 0xC4, 0x97 };
231 : static const symbol s_0_188[2] = { 0xC4, 0x99 };
232 : static const symbol s_0_189[2] = { 0xC4, 0xAF };
233 : static const symbol s_0_190[4] = { 'e', 'n', 0xC4, 0xAF };
234 : static const symbol s_0_191[2] = { 0xC5, 0xB3 };
235 : static const symbol s_0_192[3] = { 'i', 0xC5, 0xB3 };
236 : static const struct among a_0[193] = {
237 : { 1, s_0_0, 0, -1, 0},
238 : { 2, s_0_1, -1, -1, 0},
239 : { 4, s_0_2, -2, -1, 0},
240 : { 5, s_0_3, -1, -1, 0},
241 : { 5, s_0_4, -2, -1, 0},
242 : { 6, s_0_5, -1, -1, 0},
243 : { 4, s_0_6, -6, -1, 0},
244 : { 5, s_0_7, -7, -1, 0},
245 : { 1, s_0_8, 0, -1, 0},
246 : { 2, s_0_9, -1, -1, 0},
247 : { 4, s_0_10, -1, -1, 0},
248 : { 3, s_0_11, -3, -1, 0},
249 : { 4, s_0_12, -1, -1, 0},
250 : { 3, s_0_13, -5, -1, 0},
251 : { 4, s_0_14, -1, -1, 0},
252 : { 3, s_0_15, -7, -1, 0},
253 : { 5, s_0_16, -1, -1, 0},
254 : { 4, s_0_17, -9, -1, 0},
255 : { 3, s_0_18, -10, -1, 0},
256 : { 4, s_0_19, -1, -1, 0},
257 : { 4, s_0_20, -12, -1, 0},
258 : { 3, s_0_21, -13, -1, 0},
259 : { 4, s_0_22, -14, -1, 0},
260 : { 7, s_0_23, -1, -1, 0},
261 : { 3, s_0_24, -16, -1, 0},
262 : { 4, s_0_25, -1, -1, 0},
263 : { 4, s_0_26, -2, -1, 0},
264 : { 5, s_0_27, -1, -1, 0},
265 : { 3, s_0_28, -20, -1, 0},
266 : { 5, s_0_29, -1, -1, 0},
267 : { 4, s_0_30, -22, -1, 0},
268 : { 3, s_0_31, -23, -1, 0},
269 : { 4, s_0_32, -1, -1, 0},
270 : { 3, s_0_33, -25, -1, 0},
271 : { 4, s_0_34, -1, -1, 0},
272 : { 4, s_0_35, -2, -1, 0},
273 : { 3, s_0_36, -28, -1, 0},
274 : { 4, s_0_37, -29, -1, 0},
275 : { 4, s_0_38, -30, -1, 0},
276 : { 7, s_0_39, -1, -1, 0},
277 : { 1, s_0_40, 0, -1, 0},
278 : { 2, s_0_41, -1, -1, 0},
279 : { 3, s_0_42, -1, -1, 0},
280 : { 2, s_0_43, -3, -1, 0},
281 : { 5, s_0_44, -1, -1, 0},
282 : { 2, s_0_45, -5, -1, 0},
283 : { 3, s_0_46, -6, -1, 0},
284 : { 3, s_0_47, -7, -1, 0},
285 : { 4, s_0_48, -1, -1, 0},
286 : { 2, s_0_49, -9, -1, 0},
287 : { 3, s_0_50, -1, -1, 0},
288 : { 4, s_0_51, -1, -1, 0},
289 : { 3, s_0_52, -3, -1, 0},
290 : { 4, s_0_53, -1, -1, 0},
291 : { 5, s_0_54, -1, -1, 0},
292 : { 3, s_0_55, -6, -1, 0},
293 : { 4, s_0_56, -1, -1, 0},
294 : { 4, s_0_57, -2, -1, 0},
295 : { 7, s_0_58, -1, -1, 0},
296 : { 4, s_0_59, -4, -1, 0},
297 : { 3, s_0_60, -11, -1, 0},
298 : { 6, s_0_61, -1, -1, 0},
299 : { 4, s_0_62, -2, -1, 0},
300 : { 5, s_0_63, -1, -1, 0},
301 : { 6, s_0_64, -1, -1, 0},
302 : { 3, s_0_65, -16, -1, 0},
303 : { 4, s_0_66, -1, -1, 0},
304 : { 7, s_0_67, -1, -1, 0},
305 : { 4, s_0_68, -19, -1, 0},
306 : { 4, s_0_69, -20, -1, 0},
307 : { 4, s_0_70, -21, -1, 0},
308 : { 5, s_0_71, -1, -1, 0},
309 : { 2, s_0_72, -32, -1, 0},
310 : { 4, s_0_73, -1, -1, 0},
311 : { 4, s_0_74, -2, -1, 0},
312 : { 3, s_0_75, -3, -1, 0},
313 : { 4, s_0_76, -1, -1, 0},
314 : { 4, s_0_77, -2, -1, 0},
315 : { 5, s_0_78, -1, -1, 0},
316 : { 4, s_0_79, -7, -1, 0},
317 : { 5, s_0_80, -1, -1, 0},
318 : { 3, s_0_81, -9, -1, 0},
319 : { 4, s_0_82, -10, -1, 0},
320 : { 7, s_0_83, -1, -1, 0},
321 : { 6, s_0_84, -2, -1, 0},
322 : { 7, s_0_85, -3, -1, 0},
323 : { 2, s_0_86, -46, -1, 0},
324 : { 3, s_0_87, -1, -1, 0},
325 : { 5, s_0_88, -1, -1, 0},
326 : { 2, s_0_89, 0, -1, 0},
327 : { 3, s_0_90, 0, -1, 0},
328 : { 1, s_0_91, 0, -1, 0},
329 : { 2, s_0_92, 0, -1, 0},
330 : { 3, s_0_93, -1, -1, 0},
331 : { 3, s_0_94, 0, -1, 0},
332 : { 2, s_0_95, 0, -1, 0},
333 : { 3, s_0_96, -1, -1, 0},
334 : { 2, s_0_97, 0, -1, 0},
335 : { 3, s_0_98, 0, -1, 0},
336 : { 3, s_0_99, 0, -1, 0},
337 : { 6, s_0_100, -1, -1, 0},
338 : { 2, s_0_101, 0, -1, 0},
339 : { 2, s_0_102, 0, -1, 0},
340 : { 3, s_0_103, -1, -1, 0},
341 : { 2, s_0_104, 0, -1, 0},
342 : { 3, s_0_105, -1, -1, 0},
343 : { 3, s_0_106, 0, -1, 0},
344 : { 1, s_0_107, 0, -1, 0},
345 : { 2, s_0_108, -1, -1, 0},
346 : { 4, s_0_109, -1, -1, 0},
347 : { 4, s_0_110, -3, -1, 0},
348 : { 2, s_0_111, -4, -1, 0},
349 : { 1, s_0_112, 0, -1, 0},
350 : { 2, s_0_113, -1, -1, 0},
351 : { 3, s_0_114, -1, -1, 0},
352 : { 2, s_0_115, -3, -1, 0},
353 : { 3, s_0_116, -1, -1, 0},
354 : { 2, s_0_117, -5, -1, 0},
355 : { 3, s_0_118, -1, -1, 0},
356 : { 4, s_0_119, -1, -1, 0},
357 : { 6, s_0_120, -3, -1, 0},
358 : { 4, s_0_121, -4, -1, 0},
359 : { 6, s_0_122, -1, -1, 0},
360 : { 4, s_0_123, -6, -1, 0},
361 : { 5, s_0_124, -1, -1, 0},
362 : { 4, s_0_125, -8, -1, 0},
363 : { 5, s_0_126, -9, -1, 0},
364 : { 4, s_0_127, -10, -1, 0},
365 : { 4, s_0_128, -11, -1, 0},
366 : { 4, s_0_129, -12, -1, 0},
367 : { 3, s_0_130, -18, -1, 0},
368 : { 4, s_0_131, -1, -1, 0},
369 : { 4, s_0_132, -20, -1, 0},
370 : { 3, s_0_133, -21, -1, 0},
371 : { 5, s_0_134, -1, -1, 0},
372 : { 3, s_0_135, -23, -1, 0},
373 : { 4, s_0_136, -1, -1, 0},
374 : { 3, s_0_137, -25, -1, 0},
375 : { 4, s_0_138, -26, -1, 0},
376 : { 3, s_0_139, -27, -1, 0},
377 : { 2, s_0_140, -28, -1, 0},
378 : { 3, s_0_141, -1, -1, 0},
379 : { 3, s_0_142, -2, -1, 0},
380 : { 4, s_0_143, -1, -1, 0},
381 : { 2, s_0_144, -32, -1, 0},
382 : { 3, s_0_145, -1, -1, 0},
383 : { 4, s_0_146, -1, -1, 0},
384 : { 3, s_0_147, -3, -1, 0},
385 : { 2, s_0_148, -36, -1, 0},
386 : { 4, s_0_149, -1, -1, 0},
387 : { 3, s_0_150, -38, -1, 0},
388 : { 4, s_0_151, -1, -1, 0},
389 : { 3, s_0_152, -40, -1, 0},
390 : { 5, s_0_153, -1, -1, 0},
391 : { 6, s_0_154, -1, -1, 0},
392 : { 5, s_0_155, -3, -1, 0},
393 : { 6, s_0_156, -1, -1, 0},
394 : { 6, s_0_157, -2, -1, 0},
395 : { 5, s_0_158, -6, -1, 0},
396 : { 6, s_0_159, -7, -1, 0},
397 : { 9, s_0_160, -1, -1, 0},
398 : { 5, s_0_161, -9, -1, 0},
399 : { 6, s_0_162, -1, -1, 0},
400 : { 6, s_0_163, -11, -1, 0},
401 : { 5, s_0_164, -12, -1, 0},
402 : { 6, s_0_165, -13, -1, 0},
403 : { 9, s_0_166, -1, -1, 0},
404 : { 3, s_0_167, -55, -1, 0},
405 : { 3, s_0_168, -56, -1, 0},
406 : { 4, s_0_169, -57, -1, 0},
407 : { 2, s_0_170, 0, -1, 0},
408 : { 3, s_0_171, -1, -1, 0},
409 : { 2, s_0_172, 0, -1, 0},
410 : { 3, s_0_173, -1, -1, 0},
411 : { 2, s_0_174, 0, -1, 0},
412 : { 3, s_0_175, 0, -1, 0},
413 : { 6, s_0_176, -1, -1, 0},
414 : { 1, s_0_177, 0, -1, 0},
415 : { 2, s_0_178, -1, -1, 0},
416 : { 3, s_0_179, -1, -1, 0},
417 : { 5, s_0_180, -1, -1, 0},
418 : { 2, s_0_181, -4, -1, 0},
419 : { 4, s_0_182, -1, -1, 0},
420 : { 3, s_0_183, -2, -1, 0},
421 : { 1, s_0_184, 0, -1, 0},
422 : { 2, s_0_185, 0, -1, 0},
423 : { 3, s_0_186, -1, -1, 0},
424 : { 2, s_0_187, 0, -1, 0},
425 : { 2, s_0_188, 0, -1, 0},
426 : { 2, s_0_189, 0, -1, 0},
427 : { 4, s_0_190, -1, -1, 0},
428 : { 2, s_0_191, 0, -1, 0},
429 : { 3, s_0_192, -1, -1, 0}
430 : };
431 :
432 : static const symbol s_1_0[3] = { 'i', 'n', 'g' };
433 : static const symbol s_1_1[2] = { 'a', 'j' };
434 : static const symbol s_1_2[3] = { 'i', 'a', 'j' };
435 : static const symbol s_1_3[3] = { 'i', 'e', 'j' };
436 : static const symbol s_1_4[2] = { 'o', 'j' };
437 : static const symbol s_1_5[3] = { 'i', 'o', 'j' };
438 : static const symbol s_1_6[3] = { 'u', 'o', 'j' };
439 : static const symbol s_1_7[4] = { 'i', 'u', 'o', 'j' };
440 : static const symbol s_1_8[3] = { 'a', 'u', 'j' };
441 : static const symbol s_1_9[3] = { 0xC4, 0x85, 'j' };
442 : static const symbol s_1_10[4] = { 'i', 0xC4, 0x85, 'j' };
443 : static const symbol s_1_11[3] = { 0xC4, 0x97, 'j' };
444 : static const symbol s_1_12[3] = { 0xC5, 0xB3, 'j' };
445 : static const symbol s_1_13[4] = { 'i', 0xC5, 0xB3, 'j' };
446 : static const symbol s_1_14[2] = { 'o', 'k' };
447 : static const symbol s_1_15[3] = { 'i', 'o', 'k' };
448 : static const symbol s_1_16[3] = { 'i', 'u', 'k' };
449 : static const symbol s_1_17[5] = { 'u', 'l', 'i', 'u', 'k' };
450 : static const symbol s_1_18[6] = { 'u', 0xC4, 0x8D, 'i', 'u', 'k' };
451 : static const symbol s_1_19[4] = { 'i', 0xC5, 0xA1, 'k' };
452 : static const symbol s_1_20[3] = { 'i', 'u', 'l' };
453 : static const symbol s_1_21[2] = { 'y', 'l' };
454 : static const symbol s_1_22[3] = { 0xC4, 0x97, 'l' };
455 : static const symbol s_1_23[2] = { 'a', 'm' };
456 : static const symbol s_1_24[3] = { 'd', 'a', 'm' };
457 : static const symbol s_1_25[3] = { 'j', 'a', 'm' };
458 : static const symbol s_1_26[4] = { 'z', 'g', 'a', 'n' };
459 : static const symbol s_1_27[3] = { 'a', 'i', 'n' };
460 : static const symbol s_1_28[3] = { 'e', 's', 'n' };
461 : static const symbol s_1_29[2] = { 'o', 'p' };
462 : static const symbol s_1_30[3] = { 'i', 'o', 'p' };
463 : static const symbol s_1_31[3] = { 'i', 'a', 's' };
464 : static const symbol s_1_32[3] = { 'i', 'e', 's' };
465 : static const symbol s_1_33[3] = { 'a', 'i', 's' };
466 : static const symbol s_1_34[4] = { 'i', 'a', 'i', 's' };
467 : static const symbol s_1_35[2] = { 'o', 's' };
468 : static const symbol s_1_36[3] = { 'i', 'o', 's' };
469 : static const symbol s_1_37[3] = { 'u', 'o', 's' };
470 : static const symbol s_1_38[4] = { 'i', 'u', 'o', 's' };
471 : static const symbol s_1_39[3] = { 'a', 'u', 's' };
472 : static const symbol s_1_40[4] = { 'i', 'a', 'u', 's' };
473 : static const symbol s_1_41[3] = { 0xC4, 0x85, 's' };
474 : static const symbol s_1_42[4] = { 'i', 0xC4, 0x85, 's' };
475 : static const symbol s_1_43[3] = { 0xC4, 0x99, 's' };
476 : static const symbol s_1_44[7] = { 'u', 't', 0xC4, 0x97, 'a', 'i', 't' };
477 : static const symbol s_1_45[3] = { 'a', 'n', 't' };
478 : static const symbol s_1_46[4] = { 'i', 'a', 'n', 't' };
479 : static const symbol s_1_47[5] = { 's', 'i', 'a', 'n', 't' };
480 : static const symbol s_1_48[3] = { 'i', 'n', 't' };
481 : static const symbol s_1_49[2] = { 'o', 't' };
482 : static const symbol s_1_50[3] = { 'u', 'o', 't' };
483 : static const symbol s_1_51[4] = { 'i', 'u', 'o', 't' };
484 : static const symbol s_1_52[2] = { 'y', 't' };
485 : static const symbol s_1_53[3] = { 0xC4, 0x97, 't' };
486 : static const symbol s_1_54[5] = { 'y', 'k', 0xC5, 0xA1, 't' };
487 : static const symbol s_1_55[3] = { 'i', 'a', 'u' };
488 : static const symbol s_1_56[3] = { 'd', 'a', 'v' };
489 : static const symbol s_1_57[2] = { 's', 'v' };
490 : static const symbol s_1_58[3] = { 0xC5, 0xA1, 'v' };
491 : static const symbol s_1_59[6] = { 'y', 'k', 0xC5, 0xA1, 0xC4, 0x8D };
492 : static const symbol s_1_60[2] = { 0xC4, 0x99 };
493 : static const symbol s_1_61[5] = { 0xC4, 0x97, 'j', 0xC4, 0x99 };
494 : static const struct among a_1[62] = {
495 : { 3, s_1_0, 0, -1, 0},
496 : { 2, s_1_1, 0, -1, 0},
497 : { 3, s_1_2, -1, -1, 0},
498 : { 3, s_1_3, 0, -1, 0},
499 : { 2, s_1_4, 0, -1, 0},
500 : { 3, s_1_5, -1, -1, 0},
501 : { 3, s_1_6, -2, -1, 0},
502 : { 4, s_1_7, -1, -1, 0},
503 : { 3, s_1_8, 0, -1, 0},
504 : { 3, s_1_9, 0, -1, 0},
505 : { 4, s_1_10, -1, -1, 0},
506 : { 3, s_1_11, 0, -1, 0},
507 : { 3, s_1_12, 0, -1, 0},
508 : { 4, s_1_13, -1, -1, 0},
509 : { 2, s_1_14, 0, -1, 0},
510 : { 3, s_1_15, -1, -1, 0},
511 : { 3, s_1_16, 0, -1, 0},
512 : { 5, s_1_17, -1, -1, 0},
513 : { 6, s_1_18, -2, -1, 0},
514 : { 4, s_1_19, 0, -1, 0},
515 : { 3, s_1_20, 0, -1, 0},
516 : { 2, s_1_21, 0, -1, 0},
517 : { 3, s_1_22, 0, -1, 0},
518 : { 2, s_1_23, 0, -1, 0},
519 : { 3, s_1_24, -1, -1, 0},
520 : { 3, s_1_25, -2, -1, 0},
521 : { 4, s_1_26, 0, -1, 0},
522 : { 3, s_1_27, 0, -1, 0},
523 : { 3, s_1_28, 0, -1, 0},
524 : { 2, s_1_29, 0, -1, 0},
525 : { 3, s_1_30, -1, -1, 0},
526 : { 3, s_1_31, 0, -1, 0},
527 : { 3, s_1_32, 0, -1, 0},
528 : { 3, s_1_33, 0, -1, 0},
529 : { 4, s_1_34, -1, -1, 0},
530 : { 2, s_1_35, 0, -1, 0},
531 : { 3, s_1_36, -1, -1, 0},
532 : { 3, s_1_37, -2, -1, 0},
533 : { 4, s_1_38, -1, -1, 0},
534 : { 3, s_1_39, 0, -1, 0},
535 : { 4, s_1_40, -1, -1, 0},
536 : { 3, s_1_41, 0, -1, 0},
537 : { 4, s_1_42, -1, -1, 0},
538 : { 3, s_1_43, 0, -1, 0},
539 : { 7, s_1_44, 0, -1, 0},
540 : { 3, s_1_45, 0, -1, 0},
541 : { 4, s_1_46, -1, -1, 0},
542 : { 5, s_1_47, -1, -1, 0},
543 : { 3, s_1_48, 0, -1, 0},
544 : { 2, s_1_49, 0, -1, 0},
545 : { 3, s_1_50, -1, -1, 0},
546 : { 4, s_1_51, -1, -1, 0},
547 : { 2, s_1_52, 0, -1, 0},
548 : { 3, s_1_53, 0, -1, 0},
549 : { 5, s_1_54, 0, -1, 0},
550 : { 3, s_1_55, 0, -1, 0},
551 : { 3, s_1_56, 0, -1, 0},
552 : { 2, s_1_57, 0, -1, 0},
553 : { 3, s_1_58, 0, -1, 0},
554 : { 6, s_1_59, 0, -1, 0},
555 : { 2, s_1_60, 0, -1, 0},
556 : { 5, s_1_61, -1, -1, 0}
557 : };
558 :
559 : static const symbol s_2_0[5] = { 'o', 'j', 'i', 'm', 'e' };
560 : static const symbol s_2_1[6] = { 0xC4, 0x97, 'j', 'i', 'm', 'e' };
561 : static const symbol s_2_2[5] = { 'a', 'v', 'i', 'm', 'e' };
562 : static const symbol s_2_3[5] = { 'o', 'k', 'a', 't', 'e' };
563 : static const symbol s_2_4[4] = { 'a', 'i', 't', 'e' };
564 : static const symbol s_2_5[4] = { 'u', 'o', 't', 'e' };
565 : static const symbol s_2_6[5] = { 'a', 's', 'i', 'u', 's' };
566 : static const symbol s_2_7[7] = { 'o', 'k', 'a', 't', 0xC4, 0x97, 's' };
567 : static const symbol s_2_8[6] = { 'a', 'i', 't', 0xC4, 0x97, 's' };
568 : static const symbol s_2_9[6] = { 'u', 'o', 't', 0xC4, 0x97, 's' };
569 : static const symbol s_2_10[4] = { 'e', 's', 'i', 'u' };
570 : static const struct among a_2[11] = {
571 : { 5, s_2_0, 0, 7, 0},
572 : { 6, s_2_1, 0, 3, 0},
573 : { 5, s_2_2, 0, 6, 0},
574 : { 5, s_2_3, 0, 8, 0},
575 : { 4, s_2_4, 0, 1, 0},
576 : { 4, s_2_5, 0, 2, 0},
577 : { 5, s_2_6, 0, 5, 0},
578 : { 7, s_2_7, 0, 8, 0},
579 : { 6, s_2_8, 0, 1, 0},
580 : { 6, s_2_9, 0, 2, 0},
581 : { 4, s_2_10, 0, 4, 0}
582 : };
583 :
584 : static const symbol s_3_0[2] = { 0xC4, 0x8D };
585 : static const symbol s_3_1[3] = { 'd', 0xC5, 0xBE };
586 : static const struct among a_3[2] = {
587 : { 2, s_3_0, 0, 1, 0},
588 : { 3, s_3_1, 0, 2, 0}
589 : };
590 :
591 : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 };
592 :
593 0 : static int r_step1(struct SN_env * z) {
594 : {
595 : int v_1;
596 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
597 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
598 0 : z->ket = z->c;
599 0 : if (!find_among_b(z, a_0, 193, 0)) { z->lb = v_1; return 0; }
600 0 : z->bra = z->c;
601 0 : z->lb = v_1;
602 : }
603 : {
604 0 : int ret = slice_del(z);
605 0 : if (ret < 0) return ret;
606 : }
607 0 : return 1;
608 : }
609 :
610 0 : static int r_step2(struct SN_env * z) {
611 0 : while (1) {
612 0 : int v_1 = z->l - z->c;
613 : {
614 : int v_2;
615 0 : if (z->c < ((SN_local *)z)->i_p1) goto lab0;
616 0 : v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
617 0 : z->ket = z->c;
618 0 : if (!find_among_b(z, a_1, 62, 0)) { z->lb = v_2; goto lab0; }
619 0 : z->bra = z->c;
620 0 : z->lb = v_2;
621 : }
622 : {
623 0 : int ret = slice_del(z);
624 0 : if (ret < 0) return ret;
625 : }
626 0 : continue;
627 0 : lab0:
628 0 : z->c = z->l - v_1;
629 0 : break;
630 : }
631 0 : return 1;
632 : }
633 :
634 0 : static int r_fix_conflicts(struct SN_env * z) {
635 : int among_var;
636 0 : z->ket = z->c;
637 0 : if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2621472 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
638 0 : among_var = find_among_b(z, a_2, 11, 0);
639 0 : if (!among_var) return 0;
640 0 : z->bra = z->c;
641 0 : switch (among_var) {
642 0 : case 1:
643 : {
644 0 : int ret = slice_from_s(z, 5, s_0);
645 0 : if (ret < 0) return ret;
646 : }
647 0 : break;
648 0 : case 2:
649 : {
650 0 : int ret = slice_from_s(z, 5, s_1);
651 0 : if (ret < 0) return ret;
652 : }
653 0 : break;
654 0 : case 3:
655 : {
656 0 : int ret = slice_from_s(z, 7, s_2);
657 0 : if (ret < 0) return ret;
658 : }
659 0 : break;
660 0 : case 4:
661 : {
662 0 : int ret = slice_from_s(z, 4, s_3);
663 0 : if (ret < 0) return ret;
664 : }
665 0 : break;
666 0 : case 5:
667 : {
668 0 : int ret = slice_from_s(z, 4, s_4);
669 0 : if (ret < 0) return ret;
670 : }
671 0 : break;
672 0 : case 6:
673 : {
674 0 : int ret = slice_from_s(z, 6, s_5);
675 0 : if (ret < 0) return ret;
676 : }
677 0 : break;
678 0 : case 7:
679 : {
680 0 : int ret = slice_from_s(z, 6, s_6);
681 0 : if (ret < 0) return ret;
682 : }
683 0 : break;
684 0 : case 8:
685 : {
686 0 : int ret = slice_from_s(z, 6, s_7);
687 0 : if (ret < 0) return ret;
688 : }
689 0 : break;
690 : }
691 0 : return 1;
692 : }
693 :
694 0 : static int r_fix_chdz(struct SN_env * z) {
695 : int among_var;
696 0 : z->ket = z->c;
697 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 190)) return 0;
698 0 : among_var = find_among_b(z, a_3, 2, 0);
699 0 : if (!among_var) return 0;
700 0 : z->bra = z->c;
701 0 : switch (among_var) {
702 0 : case 1:
703 : {
704 0 : int ret = slice_from_s(z, 1, s_8);
705 0 : if (ret < 0) return ret;
706 : }
707 0 : break;
708 0 : case 2:
709 : {
710 0 : int ret = slice_from_s(z, 1, s_9);
711 0 : if (ret < 0) return ret;
712 : }
713 0 : break;
714 : }
715 0 : return 1;
716 : }
717 :
718 0 : static int r_fix_gd(struct SN_env * z) {
719 0 : z->ket = z->c;
720 0 : if (!(eq_s_b(z, 2, s_10))) return 0;
721 0 : z->bra = z->c;
722 : {
723 0 : int ret = slice_from_s(z, 1, s_11);
724 0 : if (ret < 0) return ret;
725 : }
726 0 : return 1;
727 : }
728 :
729 0 : extern int lithuanian_UTF_8_stem(struct SN_env * z) {
730 0 : ((SN_local *)z)->i_p1 = z->l;
731 : {
732 0 : int v_1 = z->c;
733 : {
734 0 : int v_2 = z->c;
735 0 : if (z->c == z->l || z->p[z->c] != 'a') { z->c = v_2; goto lab1; }
736 0 : z->c++;
737 0 : if (len_utf8(z->p) <= 6) { z->c = v_2; goto lab1; }
738 0 : lab1:
739 : ;
740 : }
741 : {
742 0 : int ret = out_grouping_U(z, g_v, 97, 371, 1);
743 0 : if (ret < 0) goto lab0;
744 0 : z->c += ret;
745 : }
746 : {
747 0 : int ret = in_grouping_U(z, g_v, 97, 371, 1);
748 0 : if (ret < 0) goto lab0;
749 0 : z->c += ret;
750 : }
751 0 : ((SN_local *)z)->i_p1 = z->c;
752 0 : lab0:
753 0 : z->c = v_1;
754 : }
755 0 : z->lb = z->c; z->c = z->l;
756 : {
757 0 : int v_3 = z->l - z->c;
758 : {
759 0 : int ret = r_fix_conflicts(z);
760 0 : if (ret < 0) return ret;
761 : }
762 0 : z->c = z->l - v_3;
763 : }
764 : {
765 0 : int v_4 = z->l - z->c;
766 : {
767 0 : int ret = r_step1(z);
768 0 : if (ret < 0) return ret;
769 : }
770 0 : z->c = z->l - v_4;
771 : }
772 : {
773 0 : int v_5 = z->l - z->c;
774 : {
775 0 : int ret = r_fix_chdz(z);
776 0 : if (ret < 0) return ret;
777 : }
778 0 : z->c = z->l - v_5;
779 : }
780 : {
781 0 : int v_6 = z->l - z->c;
782 : {
783 0 : int ret = r_step2(z);
784 0 : if (ret < 0) return ret;
785 : }
786 0 : z->c = z->l - v_6;
787 : }
788 : {
789 0 : int v_7 = z->l - z->c;
790 : {
791 0 : int ret = r_fix_chdz(z);
792 0 : if (ret < 0) return ret;
793 : }
794 0 : z->c = z->l - v_7;
795 : }
796 : {
797 0 : int v_8 = z->l - z->c;
798 : {
799 0 : int ret = r_fix_gd(z);
800 0 : if (ret < 0) return ret;
801 : }
802 0 : z->c = z->l - v_8;
803 : }
804 0 : z->c = z->lb;
805 0 : return 1;
806 : }
807 :
808 0 : extern struct SN_env * lithuanian_UTF_8_create_env(void) {
809 0 : struct SN_env * z = SN_new_env(sizeof(SN_local));
810 0 : if (z) {
811 0 : ((SN_local *)z)->i_p1 = 0;
812 : }
813 0 : return z;
814 : }
815 :
816 0 : extern void lithuanian_UTF_8_close_env(struct SN_env * z) {
817 0 : SN_delete_env(z);
818 0 : }
819 :
|