~slub.team/goobi-indexserver/3.x

« back to all changes in this revision

Viewing changes to lucene/contrib/analyzers/common/src/java/org/tartarus/snowball/ext/RomanianStemmer.java

  • Committer: Sebastian Meyer
  • Date: 2012-08-03 09:12:40 UTC
  • Revision ID: sebastian.meyer@slub-dresden.de-20120803091240-x6861b0vabq1xror
Remove Lucene and Solr source code and add patches instead
Fix Bug #985487: Auto-suggestion for the search interface

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// This file was generated automatically by the Snowball to Java compiler
2
 
 
3
 
package org.tartarus.snowball.ext;
4
 
import org.tartarus.snowball.SnowballProgram;
5
 
import org.tartarus.snowball.Among;
6
 
 
7
 
/**
8
 
 * Generated class implementing code defined by a snowball script.
9
 
 */
10
 
public class RomanianStemmer extends SnowballProgram {
11
 
 
12
 
        private Among a_0[] = {
13
 
            new Among ( "", -1, 3, "", this),
14
 
            new Among ( "I", 0, 1, "", this),
15
 
            new Among ( "U", 0, 2, "", this)
16
 
        };
17
 
 
18
 
        private Among a_1[] = {
19
 
            new Among ( "ea", -1, 3, "", this),
20
 
            new Among ( "a\u0163ia", -1, 7, "", this),
21
 
            new Among ( "aua", -1, 2, "", this),
22
 
            new Among ( "iua", -1, 4, "", this),
23
 
            new Among ( "a\u0163ie", -1, 7, "", this),
24
 
            new Among ( "ele", -1, 3, "", this),
25
 
            new Among ( "ile", -1, 5, "", this),
26
 
            new Among ( "iile", 6, 4, "", this),
27
 
            new Among ( "iei", -1, 4, "", this),
28
 
            new Among ( "atei", -1, 6, "", this),
29
 
            new Among ( "ii", -1, 4, "", this),
30
 
            new Among ( "ului", -1, 1, "", this),
31
 
            new Among ( "ul", -1, 1, "", this),
32
 
            new Among ( "elor", -1, 3, "", this),
33
 
            new Among ( "ilor", -1, 4, "", this),
34
 
            new Among ( "iilor", 14, 4, "", this)
35
 
        };
36
 
 
37
 
        private Among a_2[] = {
38
 
            new Among ( "icala", -1, 4, "", this),
39
 
            new Among ( "iciva", -1, 4, "", this),
40
 
            new Among ( "ativa", -1, 5, "", this),
41
 
            new Among ( "itiva", -1, 6, "", this),
42
 
            new Among ( "icale", -1, 4, "", this),
43
 
            new Among ( "a\u0163iune", -1, 5, "", this),
44
 
            new Among ( "i\u0163iune", -1, 6, "", this),
45
 
            new Among ( "atoare", -1, 5, "", this),
46
 
            new Among ( "itoare", -1, 6, "", this),
47
 
            new Among ( "\u0103toare", -1, 5, "", this),
48
 
            new Among ( "icitate", -1, 4, "", this),
49
 
            new Among ( "abilitate", -1, 1, "", this),
50
 
            new Among ( "ibilitate", -1, 2, "", this),
51
 
            new Among ( "ivitate", -1, 3, "", this),
52
 
            new Among ( "icive", -1, 4, "", this),
53
 
            new Among ( "ative", -1, 5, "", this),
54
 
            new Among ( "itive", -1, 6, "", this),
55
 
            new Among ( "icali", -1, 4, "", this),
56
 
            new Among ( "atori", -1, 5, "", this),
57
 
            new Among ( "icatori", 18, 4, "", this),
58
 
            new Among ( "itori", -1, 6, "", this),
59
 
            new Among ( "\u0103tori", -1, 5, "", this),
60
 
            new Among ( "icitati", -1, 4, "", this),
61
 
            new Among ( "abilitati", -1, 1, "", this),
62
 
            new Among ( "ivitati", -1, 3, "", this),
63
 
            new Among ( "icivi", -1, 4, "", this),
64
 
            new Among ( "ativi", -1, 5, "", this),
65
 
            new Among ( "itivi", -1, 6, "", this),
66
 
            new Among ( "icit\u0103i", -1, 4, "", this),
67
 
            new Among ( "abilit\u0103i", -1, 1, "", this),
68
 
            new Among ( "ivit\u0103i", -1, 3, "", this),
69
 
            new Among ( "icit\u0103\u0163i", -1, 4, "", this),
70
 
            new Among ( "abilit\u0103\u0163i", -1, 1, "", this),
71
 
            new Among ( "ivit\u0103\u0163i", -1, 3, "", this),
72
 
            new Among ( "ical", -1, 4, "", this),
73
 
            new Among ( "ator", -1, 5, "", this),
74
 
            new Among ( "icator", 35, 4, "", this),
75
 
            new Among ( "itor", -1, 6, "", this),
76
 
            new Among ( "\u0103tor", -1, 5, "", this),
77
 
            new Among ( "iciv", -1, 4, "", this),
78
 
            new Among ( "ativ", -1, 5, "", this),
79
 
            new Among ( "itiv", -1, 6, "", this),
80
 
            new Among ( "ical\u0103", -1, 4, "", this),
81
 
            new Among ( "iciv\u0103", -1, 4, "", this),
82
 
            new Among ( "ativ\u0103", -1, 5, "", this),
83
 
            new Among ( "itiv\u0103", -1, 6, "", this)
84
 
        };
85
 
 
86
 
        private Among a_3[] = {
87
 
            new Among ( "ica", -1, 1, "", this),
88
 
            new Among ( "abila", -1, 1, "", this),
89
 
            new Among ( "ibila", -1, 1, "", this),
90
 
            new Among ( "oasa", -1, 1, "", this),
91
 
            new Among ( "ata", -1, 1, "", this),
92
 
            new Among ( "ita", -1, 1, "", this),
93
 
            new Among ( "anta", -1, 1, "", this),
94
 
            new Among ( "ista", -1, 3, "", this),
95
 
            new Among ( "uta", -1, 1, "", this),
96
 
            new Among ( "iva", -1, 1, "", this),
97
 
            new Among ( "ic", -1, 1, "", this),
98
 
            new Among ( "ice", -1, 1, "", this),
99
 
            new Among ( "abile", -1, 1, "", this),
100
 
            new Among ( "ibile", -1, 1, "", this),
101
 
            new Among ( "isme", -1, 3, "", this),
102
 
            new Among ( "iune", -1, 2, "", this),
103
 
            new Among ( "oase", -1, 1, "", this),
104
 
            new Among ( "ate", -1, 1, "", this),
105
 
            new Among ( "itate", 17, 1, "", this),
106
 
            new Among ( "ite", -1, 1, "", this),
107
 
            new Among ( "ante", -1, 1, "", this),
108
 
            new Among ( "iste", -1, 3, "", this),
109
 
            new Among ( "ute", -1, 1, "", this),
110
 
            new Among ( "ive", -1, 1, "", this),
111
 
            new Among ( "ici", -1, 1, "", this),
112
 
            new Among ( "abili", -1, 1, "", this),
113
 
            new Among ( "ibili", -1, 1, "", this),
114
 
            new Among ( "iuni", -1, 2, "", this),
115
 
            new Among ( "atori", -1, 1, "", this),
116
 
            new Among ( "osi", -1, 1, "", this),
117
 
            new Among ( "ati", -1, 1, "", this),
118
 
            new Among ( "itati", 30, 1, "", this),
119
 
            new Among ( "iti", -1, 1, "", this),
120
 
            new Among ( "anti", -1, 1, "", this),
121
 
            new Among ( "isti", -1, 3, "", this),
122
 
            new Among ( "uti", -1, 1, "", this),
123
 
            new Among ( "i\u015Fti", -1, 3, "", this),
124
 
            new Among ( "ivi", -1, 1, "", this),
125
 
            new Among ( "it\u0103i", -1, 1, "", this),
126
 
            new Among ( "o\u015Fi", -1, 1, "", this),
127
 
            new Among ( "it\u0103\u0163i", -1, 1, "", this),
128
 
            new Among ( "abil", -1, 1, "", this),
129
 
            new Among ( "ibil", -1, 1, "", this),
130
 
            new Among ( "ism", -1, 3, "", this),
131
 
            new Among ( "ator", -1, 1, "", this),
132
 
            new Among ( "os", -1, 1, "", this),
133
 
            new Among ( "at", -1, 1, "", this),
134
 
            new Among ( "it", -1, 1, "", this),
135
 
            new Among ( "ant", -1, 1, "", this),
136
 
            new Among ( "ist", -1, 3, "", this),
137
 
            new Among ( "ut", -1, 1, "", this),
138
 
            new Among ( "iv", -1, 1, "", this),
139
 
            new Among ( "ic\u0103", -1, 1, "", this),
140
 
            new Among ( "abil\u0103", -1, 1, "", this),
141
 
            new Among ( "ibil\u0103", -1, 1, "", this),
142
 
            new Among ( "oas\u0103", -1, 1, "", this),
143
 
            new Among ( "at\u0103", -1, 1, "", this),
144
 
            new Among ( "it\u0103", -1, 1, "", this),
145
 
            new Among ( "ant\u0103", -1, 1, "", this),
146
 
            new Among ( "ist\u0103", -1, 3, "", this),
147
 
            new Among ( "ut\u0103", -1, 1, "", this),
148
 
            new Among ( "iv\u0103", -1, 1, "", this)
149
 
        };
150
 
 
151
 
        private Among a_4[] = {
152
 
            new Among ( "ea", -1, 1, "", this),
153
 
            new Among ( "ia", -1, 1, "", this),
154
 
            new Among ( "esc", -1, 1, "", this),
155
 
            new Among ( "\u0103sc", -1, 1, "", this),
156
 
            new Among ( "ind", -1, 1, "", this),
157
 
            new Among ( "\u00E2nd", -1, 1, "", this),
158
 
            new Among ( "are", -1, 1, "", this),
159
 
            new Among ( "ere", -1, 1, "", this),
160
 
            new Among ( "ire", -1, 1, "", this),
161
 
            new Among ( "\u00E2re", -1, 1, "", this),
162
 
            new Among ( "se", -1, 2, "", this),
163
 
            new Among ( "ase", 10, 1, "", this),
164
 
            new Among ( "sese", 10, 2, "", this),
165
 
            new Among ( "ise", 10, 1, "", this),
166
 
            new Among ( "use", 10, 1, "", this),
167
 
            new Among ( "\u00E2se", 10, 1, "", this),
168
 
            new Among ( "e\u015Fte", -1, 1, "", this),
169
 
            new Among ( "\u0103\u015Fte", -1, 1, "", this),
170
 
            new Among ( "eze", -1, 1, "", this),
171
 
            new Among ( "ai", -1, 1, "", this),
172
 
            new Among ( "eai", 19, 1, "", this),
173
 
            new Among ( "iai", 19, 1, "", this),
174
 
            new Among ( "sei", -1, 2, "", this),
175
 
            new Among ( "e\u015Fti", -1, 1, "", this),
176
 
            new Among ( "\u0103\u015Fti", -1, 1, "", this),
177
 
            new Among ( "ui", -1, 1, "", this),
178
 
            new Among ( "ezi", -1, 1, "", this),
179
 
            new Among ( "\u00E2i", -1, 1, "", this),
180
 
            new Among ( "a\u015Fi", -1, 1, "", this),
181
 
            new Among ( "se\u015Fi", -1, 2, "", this),
182
 
            new Among ( "ase\u015Fi", 29, 1, "", this),
183
 
            new Among ( "sese\u015Fi", 29, 2, "", this),
184
 
            new Among ( "ise\u015Fi", 29, 1, "", this),
185
 
            new Among ( "use\u015Fi", 29, 1, "", this),
186
 
            new Among ( "\u00E2se\u015Fi", 29, 1, "", this),
187
 
            new Among ( "i\u015Fi", -1, 1, "", this),
188
 
            new Among ( "u\u015Fi", -1, 1, "", this),
189
 
            new Among ( "\u00E2\u015Fi", -1, 1, "", this),
190
 
            new Among ( "a\u0163i", -1, 2, "", this),
191
 
            new Among ( "ea\u0163i", 38, 1, "", this),
192
 
            new Among ( "ia\u0163i", 38, 1, "", this),
193
 
            new Among ( "e\u0163i", -1, 2, "", this),
194
 
            new Among ( "i\u0163i", -1, 2, "", this),
195
 
            new Among ( "\u00E2\u0163i", -1, 2, "", this),
196
 
            new Among ( "ar\u0103\u0163i", -1, 1, "", this),
197
 
            new Among ( "ser\u0103\u0163i", -1, 2, "", this),
198
 
            new Among ( "aser\u0103\u0163i", 45, 1, "", this),
199
 
            new Among ( "seser\u0103\u0163i", 45, 2, "", this),
200
 
            new Among ( "iser\u0103\u0163i", 45, 1, "", this),
201
 
            new Among ( "user\u0103\u0163i", 45, 1, "", this),
202
 
            new Among ( "\u00E2ser\u0103\u0163i", 45, 1, "", this),
203
 
            new Among ( "ir\u0103\u0163i", -1, 1, "", this),
204
 
            new Among ( "ur\u0103\u0163i", -1, 1, "", this),
205
 
            new Among ( "\u00E2r\u0103\u0163i", -1, 1, "", this),
206
 
            new Among ( "am", -1, 1, "", this),
207
 
            new Among ( "eam", 54, 1, "", this),
208
 
            new Among ( "iam", 54, 1, "", this),
209
 
            new Among ( "em", -1, 2, "", this),
210
 
            new Among ( "asem", 57, 1, "", this),
211
 
            new Among ( "sesem", 57, 2, "", this),
212
 
            new Among ( "isem", 57, 1, "", this),
213
 
            new Among ( "usem", 57, 1, "", this),
214
 
            new Among ( "\u00E2sem", 57, 1, "", this),
215
 
            new Among ( "im", -1, 2, "", this),
216
 
            new Among ( "\u00E2m", -1, 2, "", this),
217
 
            new Among ( "\u0103m", -1, 2, "", this),
218
 
            new Among ( "ar\u0103m", 65, 1, "", this),
219
 
            new Among ( "ser\u0103m", 65, 2, "", this),
220
 
            new Among ( "aser\u0103m", 67, 1, "", this),
221
 
            new Among ( "seser\u0103m", 67, 2, "", this),
222
 
            new Among ( "iser\u0103m", 67, 1, "", this),
223
 
            new Among ( "user\u0103m", 67, 1, "", this),
224
 
            new Among ( "\u00E2ser\u0103m", 67, 1, "", this),
225
 
            new Among ( "ir\u0103m", 65, 1, "", this),
226
 
            new Among ( "ur\u0103m", 65, 1, "", this),
227
 
            new Among ( "\u00E2r\u0103m", 65, 1, "", this),
228
 
            new Among ( "au", -1, 1, "", this),
229
 
            new Among ( "eau", 76, 1, "", this),
230
 
            new Among ( "iau", 76, 1, "", this),
231
 
            new Among ( "indu", -1, 1, "", this),
232
 
            new Among ( "\u00E2ndu", -1, 1, "", this),
233
 
            new Among ( "ez", -1, 1, "", this),
234
 
            new Among ( "easc\u0103", -1, 1, "", this),
235
 
            new Among ( "ar\u0103", -1, 1, "", this),
236
 
            new Among ( "ser\u0103", -1, 2, "", this),
237
 
            new Among ( "aser\u0103", 84, 1, "", this),
238
 
            new Among ( "seser\u0103", 84, 2, "", this),
239
 
            new Among ( "iser\u0103", 84, 1, "", this),
240
 
            new Among ( "user\u0103", 84, 1, "", this),
241
 
            new Among ( "\u00E2ser\u0103", 84, 1, "", this),
242
 
            new Among ( "ir\u0103", -1, 1, "", this),
243
 
            new Among ( "ur\u0103", -1, 1, "", this),
244
 
            new Among ( "\u00E2r\u0103", -1, 1, "", this),
245
 
            new Among ( "eaz\u0103", -1, 1, "", this)
246
 
        };
247
 
 
248
 
        private Among a_5[] = {
249
 
            new Among ( "a", -1, 1, "", this),
250
 
            new Among ( "e", -1, 1, "", this),
251
 
            new Among ( "ie", 1, 1, "", this),
252
 
            new Among ( "i", -1, 1, "", this),
253
 
            new Among ( "\u0103", -1, 1, "", this)
254
 
        };
255
 
 
256
 
        private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 };
257
 
 
258
 
        private boolean B_standard_suffix_removed;
259
 
        private int I_p2;
260
 
        private int I_p1;
261
 
        private int I_pV;
262
 
 
263
 
        private void copy_from(RomanianStemmer other) {
264
 
            B_standard_suffix_removed = other.B_standard_suffix_removed;
265
 
            I_p2 = other.I_p2;
266
 
            I_p1 = other.I_p1;
267
 
            I_pV = other.I_pV;
268
 
            super.copy_from(other);
269
 
        }
270
 
 
271
 
        private boolean r_prelude() {
272
 
            int v_1;
273
 
            int v_2;
274
 
            int v_3;
275
 
            // (, line 31
276
 
            // repeat, line 32
277
 
            replab0: while(true)
278
 
            {
279
 
                v_1 = cursor;
280
 
                lab1: do {
281
 
                    // goto, line 32
282
 
                    golab2: while(true)
283
 
                    {
284
 
                        v_2 = cursor;
285
 
                        lab3: do {
286
 
                            // (, line 32
287
 
                            if (!(in_grouping(g_v, 97, 259)))
288
 
                            {
289
 
                                break lab3;
290
 
                            }
291
 
                            // [, line 33
292
 
                            bra = cursor;
293
 
                            // or, line 33
294
 
                            lab4: do {
295
 
                                v_3 = cursor;
296
 
                                lab5: do {
297
 
                                    // (, line 33
298
 
                                    // literal, line 33
299
 
                                    if (!(eq_s(1, "u")))
300
 
                                    {
301
 
                                        break lab5;
302
 
                                    }
303
 
                                    // ], line 33
304
 
                                    ket = cursor;
305
 
                                    if (!(in_grouping(g_v, 97, 259)))
306
 
                                    {
307
 
                                        break lab5;
308
 
                                    }
309
 
                                    // <-, line 33
310
 
                                    slice_from("U");
311
 
                                    break lab4;
312
 
                                } while (false);
313
 
                                cursor = v_3;
314
 
                                // (, line 34
315
 
                                // literal, line 34
316
 
                                if (!(eq_s(1, "i")))
317
 
                                {
318
 
                                    break lab3;
319
 
                                }
320
 
                                // ], line 34
321
 
                                ket = cursor;
322
 
                                if (!(in_grouping(g_v, 97, 259)))
323
 
                                {
324
 
                                    break lab3;
325
 
                                }
326
 
                                // <-, line 34
327
 
                                slice_from("I");
328
 
                            } while (false);
329
 
                            cursor = v_2;
330
 
                            break golab2;
331
 
                        } while (false);
332
 
                        cursor = v_2;
333
 
                        if (cursor >= limit)
334
 
                        {
335
 
                            break lab1;
336
 
                        }
337
 
                        cursor++;
338
 
                    }
339
 
                    continue replab0;
340
 
                } while (false);
341
 
                cursor = v_1;
342
 
                break replab0;
343
 
            }
344
 
            return true;
345
 
        }
346
 
 
347
 
        private boolean r_mark_regions() {
348
 
            int v_1;
349
 
            int v_2;
350
 
            int v_3;
351
 
            int v_6;
352
 
            int v_8;
353
 
            // (, line 38
354
 
            I_pV = limit;
355
 
            I_p1 = limit;
356
 
            I_p2 = limit;
357
 
            // do, line 44
358
 
            v_1 = cursor;
359
 
            lab0: do {
360
 
                // (, line 44
361
 
                // or, line 46
362
 
                lab1: do {
363
 
                    v_2 = cursor;
364
 
                    lab2: do {
365
 
                        // (, line 45
366
 
                        if (!(in_grouping(g_v, 97, 259)))
367
 
                        {
368
 
                            break lab2;
369
 
                        }
370
 
                        // or, line 45
371
 
                        lab3: do {
372
 
                            v_3 = cursor;
373
 
                            lab4: do {
374
 
                                // (, line 45
375
 
                                if (!(out_grouping(g_v, 97, 259)))
376
 
                                {
377
 
                                    break lab4;
378
 
                                }
379
 
                                // gopast, line 45
380
 
                                golab5: while(true)
381
 
                                {
382
 
                                    lab6: do {
383
 
                                        if (!(in_grouping(g_v, 97, 259)))
384
 
                                        {
385
 
                                            break lab6;
386
 
                                        }
387
 
                                        break golab5;
388
 
                                    } while (false);
389
 
                                    if (cursor >= limit)
390
 
                                    {
391
 
                                        break lab4;
392
 
                                    }
393
 
                                    cursor++;
394
 
                                }
395
 
                                break lab3;
396
 
                            } while (false);
397
 
                            cursor = v_3;
398
 
                            // (, line 45
399
 
                            if (!(in_grouping(g_v, 97, 259)))
400
 
                            {
401
 
                                break lab2;
402
 
                            }
403
 
                            // gopast, line 45
404
 
                            golab7: while(true)
405
 
                            {
406
 
                                lab8: do {
407
 
                                    if (!(out_grouping(g_v, 97, 259)))
408
 
                                    {
409
 
                                        break lab8;
410
 
                                    }
411
 
                                    break golab7;
412
 
                                } while (false);
413
 
                                if (cursor >= limit)
414
 
                                {
415
 
                                    break lab2;
416
 
                                }
417
 
                                cursor++;
418
 
                            }
419
 
                        } while (false);
420
 
                        break lab1;
421
 
                    } while (false);
422
 
                    cursor = v_2;
423
 
                    // (, line 47
424
 
                    if (!(out_grouping(g_v, 97, 259)))
425
 
                    {
426
 
                        break lab0;
427
 
                    }
428
 
                    // or, line 47
429
 
                    lab9: do {
430
 
                        v_6 = cursor;
431
 
                        lab10: do {
432
 
                            // (, line 47
433
 
                            if (!(out_grouping(g_v, 97, 259)))
434
 
                            {
435
 
                                break lab10;
436
 
                            }
437
 
                            // gopast, line 47
438
 
                            golab11: while(true)
439
 
                            {
440
 
                                lab12: do {
441
 
                                    if (!(in_grouping(g_v, 97, 259)))
442
 
                                    {
443
 
                                        break lab12;
444
 
                                    }
445
 
                                    break golab11;
446
 
                                } while (false);
447
 
                                if (cursor >= limit)
448
 
                                {
449
 
                                    break lab10;
450
 
                                }
451
 
                                cursor++;
452
 
                            }
453
 
                            break lab9;
454
 
                        } while (false);
455
 
                        cursor = v_6;
456
 
                        // (, line 47
457
 
                        if (!(in_grouping(g_v, 97, 259)))
458
 
                        {
459
 
                            break lab0;
460
 
                        }
461
 
                        // next, line 47
462
 
                        if (cursor >= limit)
463
 
                        {
464
 
                            break lab0;
465
 
                        }
466
 
                        cursor++;
467
 
                    } while (false);
468
 
                } while (false);
469
 
                // setmark pV, line 48
470
 
                I_pV = cursor;
471
 
            } while (false);
472
 
            cursor = v_1;
473
 
            // do, line 50
474
 
            v_8 = cursor;
475
 
            lab13: do {
476
 
                // (, line 50
477
 
                // gopast, line 51
478
 
                golab14: while(true)
479
 
                {
480
 
                    lab15: do {
481
 
                        if (!(in_grouping(g_v, 97, 259)))
482
 
                        {
483
 
                            break lab15;
484
 
                        }
485
 
                        break golab14;
486
 
                    } while (false);
487
 
                    if (cursor >= limit)
488
 
                    {
489
 
                        break lab13;
490
 
                    }
491
 
                    cursor++;
492
 
                }
493
 
                // gopast, line 51
494
 
                golab16: while(true)
495
 
                {
496
 
                    lab17: do {
497
 
                        if (!(out_grouping(g_v, 97, 259)))
498
 
                        {
499
 
                            break lab17;
500
 
                        }
501
 
                        break golab16;
502
 
                    } while (false);
503
 
                    if (cursor >= limit)
504
 
                    {
505
 
                        break lab13;
506
 
                    }
507
 
                    cursor++;
508
 
                }
509
 
                // setmark p1, line 51
510
 
                I_p1 = cursor;
511
 
                // gopast, line 52
512
 
                golab18: while(true)
513
 
                {
514
 
                    lab19: do {
515
 
                        if (!(in_grouping(g_v, 97, 259)))
516
 
                        {
517
 
                            break lab19;
518
 
                        }
519
 
                        break golab18;
520
 
                    } while (false);
521
 
                    if (cursor >= limit)
522
 
                    {
523
 
                        break lab13;
524
 
                    }
525
 
                    cursor++;
526
 
                }
527
 
                // gopast, line 52
528
 
                golab20: while(true)
529
 
                {
530
 
                    lab21: do {
531
 
                        if (!(out_grouping(g_v, 97, 259)))
532
 
                        {
533
 
                            break lab21;
534
 
                        }
535
 
                        break golab20;
536
 
                    } while (false);
537
 
                    if (cursor >= limit)
538
 
                    {
539
 
                        break lab13;
540
 
                    }
541
 
                    cursor++;
542
 
                }
543
 
                // setmark p2, line 52
544
 
                I_p2 = cursor;
545
 
            } while (false);
546
 
            cursor = v_8;
547
 
            return true;
548
 
        }
549
 
 
550
 
        private boolean r_postlude() {
551
 
            int among_var;
552
 
            int v_1;
553
 
            // repeat, line 56
554
 
            replab0: while(true)
555
 
            {
556
 
                v_1 = cursor;
557
 
                lab1: do {
558
 
                    // (, line 56
559
 
                    // [, line 58
560
 
                    bra = cursor;
561
 
                    // substring, line 58
562
 
                    among_var = find_among(a_0, 3);
563
 
                    if (among_var == 0)
564
 
                    {
565
 
                        break lab1;
566
 
                    }
567
 
                    // ], line 58
568
 
                    ket = cursor;
569
 
                    switch(among_var) {
570
 
                        case 0:
571
 
                            break lab1;
572
 
                        case 1:
573
 
                            // (, line 59
574
 
                            // <-, line 59
575
 
                            slice_from("i");
576
 
                            break;
577
 
                        case 2:
578
 
                            // (, line 60
579
 
                            // <-, line 60
580
 
                            slice_from("u");
581
 
                            break;
582
 
                        case 3:
583
 
                            // (, line 61
584
 
                            // next, line 61
585
 
                            if (cursor >= limit)
586
 
                            {
587
 
                                break lab1;
588
 
                            }
589
 
                            cursor++;
590
 
                            break;
591
 
                    }
592
 
                    continue replab0;
593
 
                } while (false);
594
 
                cursor = v_1;
595
 
                break replab0;
596
 
            }
597
 
            return true;
598
 
        }
599
 
 
600
 
        private boolean r_RV() {
601
 
            if (!(I_pV <= cursor))
602
 
            {
603
 
                return false;
604
 
            }
605
 
            return true;
606
 
        }
607
 
 
608
 
        private boolean r_R1() {
609
 
            if (!(I_p1 <= cursor))
610
 
            {
611
 
                return false;
612
 
            }
613
 
            return true;
614
 
        }
615
 
 
616
 
        private boolean r_R2() {
617
 
            if (!(I_p2 <= cursor))
618
 
            {
619
 
                return false;
620
 
            }
621
 
            return true;
622
 
        }
623
 
 
624
 
        private boolean r_step_0() {
625
 
            int among_var;
626
 
            int v_1;
627
 
            // (, line 72
628
 
            // [, line 73
629
 
            ket = cursor;
630
 
            // substring, line 73
631
 
            among_var = find_among_b(a_1, 16);
632
 
            if (among_var == 0)
633
 
            {
634
 
                return false;
635
 
            }
636
 
            // ], line 73
637
 
            bra = cursor;
638
 
            // call R1, line 73
639
 
            if (!r_R1())
640
 
            {
641
 
                return false;
642
 
            }
643
 
            switch(among_var) {
644
 
                case 0:
645
 
                    return false;
646
 
                case 1:
647
 
                    // (, line 75
648
 
                    // delete, line 75
649
 
                    slice_del();
650
 
                    break;
651
 
                case 2:
652
 
                    // (, line 77
653
 
                    // <-, line 77
654
 
                    slice_from("a");
655
 
                    break;
656
 
                case 3:
657
 
                    // (, line 79
658
 
                    // <-, line 79
659
 
                    slice_from("e");
660
 
                    break;
661
 
                case 4:
662
 
                    // (, line 81
663
 
                    // <-, line 81
664
 
                    slice_from("i");
665
 
                    break;
666
 
                case 5:
667
 
                    // (, line 83
668
 
                    // not, line 83
669
 
                    {
670
 
                        v_1 = limit - cursor;
671
 
                        lab0: do {
672
 
                            // literal, line 83
673
 
                            if (!(eq_s_b(2, "ab")))
674
 
                            {
675
 
                                break lab0;
676
 
                            }
677
 
                            return false;
678
 
                        } while (false);
679
 
                        cursor = limit - v_1;
680
 
                    }
681
 
                    // <-, line 83
682
 
                    slice_from("i");
683
 
                    break;
684
 
                case 6:
685
 
                    // (, line 85
686
 
                    // <-, line 85
687
 
                    slice_from("at");
688
 
                    break;
689
 
                case 7:
690
 
                    // (, line 87
691
 
                    // <-, line 87
692
 
                    slice_from("a\u0163i");
693
 
                    break;
694
 
            }
695
 
            return true;
696
 
        }
697
 
 
698
 
        private boolean r_combo_suffix() {
699
 
            int among_var;
700
 
            int v_1;
701
 
            // test, line 91
702
 
            v_1 = limit - cursor;
703
 
            // (, line 91
704
 
            // [, line 92
705
 
            ket = cursor;
706
 
            // substring, line 92
707
 
            among_var = find_among_b(a_2, 46);
708
 
            if (among_var == 0)
709
 
            {
710
 
                return false;
711
 
            }
712
 
            // ], line 92
713
 
            bra = cursor;
714
 
            // call R1, line 92
715
 
            if (!r_R1())
716
 
            {
717
 
                return false;
718
 
            }
719
 
            // (, line 92
720
 
            switch(among_var) {
721
 
                case 0:
722
 
                    return false;
723
 
                case 1:
724
 
                    // (, line 100
725
 
                    // <-, line 101
726
 
                    slice_from("abil");
727
 
                    break;
728
 
                case 2:
729
 
                    // (, line 103
730
 
                    // <-, line 104
731
 
                    slice_from("ibil");
732
 
                    break;
733
 
                case 3:
734
 
                    // (, line 106
735
 
                    // <-, line 107
736
 
                    slice_from("iv");
737
 
                    break;
738
 
                case 4:
739
 
                    // (, line 112
740
 
                    // <-, line 113
741
 
                    slice_from("ic");
742
 
                    break;
743
 
                case 5:
744
 
                    // (, line 117
745
 
                    // <-, line 118
746
 
                    slice_from("at");
747
 
                    break;
748
 
                case 6:
749
 
                    // (, line 121
750
 
                    // <-, line 122
751
 
                    slice_from("it");
752
 
                    break;
753
 
            }
754
 
            // set standard_suffix_removed, line 125
755
 
            B_standard_suffix_removed = true;
756
 
            cursor = limit - v_1;
757
 
            return true;
758
 
        }
759
 
 
760
 
        private boolean r_standard_suffix() {
761
 
            int among_var;
762
 
            int v_1;
763
 
            // (, line 129
764
 
            // unset standard_suffix_removed, line 130
765
 
            B_standard_suffix_removed = false;
766
 
            // repeat, line 131
767
 
            replab0: while(true)
768
 
            {
769
 
                v_1 = limit - cursor;
770
 
                lab1: do {
771
 
                    // call combo_suffix, line 131
772
 
                    if (!r_combo_suffix())
773
 
                    {
774
 
                        break lab1;
775
 
                    }
776
 
                    continue replab0;
777
 
                } while (false);
778
 
                cursor = limit - v_1;
779
 
                break replab0;
780
 
            }
781
 
            // [, line 132
782
 
            ket = cursor;
783
 
            // substring, line 132
784
 
            among_var = find_among_b(a_3, 62);
785
 
            if (among_var == 0)
786
 
            {
787
 
                return false;
788
 
            }
789
 
            // ], line 132
790
 
            bra = cursor;
791
 
            // call R2, line 132
792
 
            if (!r_R2())
793
 
            {
794
 
                return false;
795
 
            }
796
 
            // (, line 132
797
 
            switch(among_var) {
798
 
                case 0:
799
 
                    return false;
800
 
                case 1:
801
 
                    // (, line 148
802
 
                    // delete, line 149
803
 
                    slice_del();
804
 
                    break;
805
 
                case 2:
806
 
                    // (, line 151
807
 
                    // literal, line 152
808
 
                    if (!(eq_s_b(1, "\u0163")))
809
 
                    {
810
 
                        return false;
811
 
                    }
812
 
                    // ], line 152
813
 
                    bra = cursor;
814
 
                    // <-, line 152
815
 
                    slice_from("t");
816
 
                    break;
817
 
                case 3:
818
 
                    // (, line 155
819
 
                    // <-, line 156
820
 
                    slice_from("ist");
821
 
                    break;
822
 
            }
823
 
            // set standard_suffix_removed, line 160
824
 
            B_standard_suffix_removed = true;
825
 
            return true;
826
 
        }
827
 
 
828
 
        private boolean r_verb_suffix() {
829
 
            int among_var;
830
 
            int v_1;
831
 
            int v_2;
832
 
            int v_3;
833
 
            // setlimit, line 164
834
 
            v_1 = limit - cursor;
835
 
            // tomark, line 164
836
 
            if (cursor < I_pV)
837
 
            {
838
 
                return false;
839
 
            }
840
 
            cursor = I_pV;
841
 
            v_2 = limit_backward;
842
 
            limit_backward = cursor;
843
 
            cursor = limit - v_1;
844
 
            // (, line 164
845
 
            // [, line 165
846
 
            ket = cursor;
847
 
            // substring, line 165
848
 
            among_var = find_among_b(a_4, 94);
849
 
            if (among_var == 0)
850
 
            {
851
 
                limit_backward = v_2;
852
 
                return false;
853
 
            }
854
 
            // ], line 165
855
 
            bra = cursor;
856
 
            switch(among_var) {
857
 
                case 0:
858
 
                    limit_backward = v_2;
859
 
                    return false;
860
 
                case 1:
861
 
                    // (, line 200
862
 
                    // or, line 200
863
 
                    lab0: do {
864
 
                        v_3 = limit - cursor;
865
 
                        lab1: do {
866
 
                            if (!(out_grouping_b(g_v, 97, 259)))
867
 
                            {
868
 
                                break lab1;
869
 
                            }
870
 
                            break lab0;
871
 
                        } while (false);
872
 
                        cursor = limit - v_3;
873
 
                        // literal, line 200
874
 
                        if (!(eq_s_b(1, "u")))
875
 
                        {
876
 
                            limit_backward = v_2;
877
 
                            return false;
878
 
                        }
879
 
                    } while (false);
880
 
                    // delete, line 200
881
 
                    slice_del();
882
 
                    break;
883
 
                case 2:
884
 
                    // (, line 214
885
 
                    // delete, line 214
886
 
                    slice_del();
887
 
                    break;
888
 
            }
889
 
            limit_backward = v_2;
890
 
            return true;
891
 
        }
892
 
 
893
 
        private boolean r_vowel_suffix() {
894
 
            int among_var;
895
 
            // (, line 218
896
 
            // [, line 219
897
 
            ket = cursor;
898
 
            // substring, line 219
899
 
            among_var = find_among_b(a_5, 5);
900
 
            if (among_var == 0)
901
 
            {
902
 
                return false;
903
 
            }
904
 
            // ], line 219
905
 
            bra = cursor;
906
 
            // call RV, line 219
907
 
            if (!r_RV())
908
 
            {
909
 
                return false;
910
 
            }
911
 
            switch(among_var) {
912
 
                case 0:
913
 
                    return false;
914
 
                case 1:
915
 
                    // (, line 220
916
 
                    // delete, line 220
917
 
                    slice_del();
918
 
                    break;
919
 
            }
920
 
            return true;
921
 
        }
922
 
 
923
 
        public boolean stem() {
924
 
            int v_1;
925
 
            int v_2;
926
 
            int v_3;
927
 
            int v_4;
928
 
            int v_5;
929
 
            int v_6;
930
 
            int v_7;
931
 
            int v_8;
932
 
            // (, line 225
933
 
            // do, line 226
934
 
            v_1 = cursor;
935
 
            lab0: do {
936
 
                // call prelude, line 226
937
 
                if (!r_prelude())
938
 
                {
939
 
                    break lab0;
940
 
                }
941
 
            } while (false);
942
 
            cursor = v_1;
943
 
            // do, line 227
944
 
            v_2 = cursor;
945
 
            lab1: do {
946
 
                // call mark_regions, line 227
947
 
                if (!r_mark_regions())
948
 
                {
949
 
                    break lab1;
950
 
                }
951
 
            } while (false);
952
 
            cursor = v_2;
953
 
            // backwards, line 228
954
 
            limit_backward = cursor; cursor = limit;
955
 
            // (, line 228
956
 
            // do, line 229
957
 
            v_3 = limit - cursor;
958
 
            lab2: do {
959
 
                // call step_0, line 229
960
 
                if (!r_step_0())
961
 
                {
962
 
                    break lab2;
963
 
                }
964
 
            } while (false);
965
 
            cursor = limit - v_3;
966
 
            // do, line 230
967
 
            v_4 = limit - cursor;
968
 
            lab3: do {
969
 
                // call standard_suffix, line 230
970
 
                if (!r_standard_suffix())
971
 
                {
972
 
                    break lab3;
973
 
                }
974
 
            } while (false);
975
 
            cursor = limit - v_4;
976
 
            // do, line 231
977
 
            v_5 = limit - cursor;
978
 
            lab4: do {
979
 
                // (, line 231
980
 
                // or, line 231
981
 
                lab5: do {
982
 
                    v_6 = limit - cursor;
983
 
                    lab6: do {
984
 
                        // Boolean test standard_suffix_removed, line 231
985
 
                        if (!(B_standard_suffix_removed))
986
 
                        {
987
 
                            break lab6;
988
 
                        }
989
 
                        break lab5;
990
 
                    } while (false);
991
 
                    cursor = limit - v_6;
992
 
                    // call verb_suffix, line 231
993
 
                    if (!r_verb_suffix())
994
 
                    {
995
 
                        break lab4;
996
 
                    }
997
 
                } while (false);
998
 
            } while (false);
999
 
            cursor = limit - v_5;
1000
 
            // do, line 232
1001
 
            v_7 = limit - cursor;
1002
 
            lab7: do {
1003
 
                // call vowel_suffix, line 232
1004
 
                if (!r_vowel_suffix())
1005
 
                {
1006
 
                    break lab7;
1007
 
                }
1008
 
            } while (false);
1009
 
            cursor = limit - v_7;
1010
 
            cursor = limit_backward;            // do, line 234
1011
 
            v_8 = cursor;
1012
 
            lab8: do {
1013
 
                // call postlude, line 234
1014
 
                if (!r_postlude())
1015
 
                {
1016
 
                    break lab8;
1017
 
                }
1018
 
            } while (false);
1019
 
            cursor = v_8;
1020
 
            return true;
1021
 
        }
1022
 
 
1023
 
}
1024