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 germanStemmer
extends SnowballProgram
{
12 private Among a_0
[] = {
13 new Among ( "", -1, 6, "", this),
14 new Among ( "U", 0, 2, "", this),
15 new Among ( "Y", 0, 1, "", this),
16 new Among ( "\u00E4", 0, 3, "", this),
17 new Among ( "\u00F6", 0, 4, "", this),
18 new Among ( "\u00FC", 0, 5, "", this)
21 private Among a_1
[] = {
22 new Among ( "e", -1, 1, "", this),
23 new Among ( "em", -1, 1, "", this),
24 new Among ( "en", -1, 1, "", this),
25 new Among ( "ern", -1, 1, "", this),
26 new Among ( "er", -1, 1, "", this),
27 new Among ( "s", -1, 2, "", this),
28 new Among ( "es", 5, 1, "", this)
31 private Among a_2
[] = {
32 new Among ( "en", -1, 1, "", this),
33 new Among ( "er", -1, 1, "", this),
34 new Among ( "st", -1, 2, "", this),
35 new Among ( "est", 2, 1, "", this)
38 private Among a_3
[] = {
39 new Among ( "ig", -1, 1, "", this),
40 new Among ( "lich", -1, 1, "", this)
43 private Among a_4
[] = {
44 new Among ( "end", -1, 1, "", this),
45 new Among ( "ig", -1, 2, "", this),
46 new Among ( "ung", -1, 1, "", this),
47 new Among ( "lich", -1, 3, "", this),
48 new Among ( "isch", -1, 2, "", this),
49 new Among ( "ik", -1, 2, "", this),
50 new Among ( "heit", -1, 3, "", this),
51 new Among ( "keit", -1, 4, "", this)
54 private static final char g_v
[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
56 private static final char g_s_ending
[] = {117, 30, 5 };
58 private static final char g_st_ending
[] = {117, 30, 4 };
64 private void copy_from(germanStemmer other
) {
68 super.copy_from(other
);
71 private boolean r_prelude() {
95 if (!(eq_s(1, "\u00DF")))
130 if (!(in_grouping(g_v
, 97, 252)))
148 if (!(in_grouping(g_v
, 97, 252)))
165 if (!(in_grouping(g_v
, 97, 252)))
190 private boolean r_mark_regions() {
201 if (0 > c
|| c
> limit
)
207 // setmark x, line 47
214 if (!(in_grouping(g_v
, 97, 252)))
230 if (!(out_grouping(g_v
, 97, 252)))
242 // setmark p1, line 49
257 if (!(in_grouping(g_v
, 97, 252)))
273 if (!(out_grouping(g_v
, 97, 252)))
285 // setmark p2, line 51
290 private boolean r_postlude() {
301 // substring, line 57
302 among_var
= find_among(a_0
, 6);
355 private boolean r_R1() {
356 if (!(I_p1
<= cursor
))
363 private boolean r_R2() {
364 if (!(I_p2
<= cursor
))
371 private boolean r_standard_suffix() {
384 v_1
= limit
- cursor
;
389 // substring, line 75
390 among_var
= find_among_b(a_1
, 7);
412 if (!(in_grouping_b(g_s_ending
, 98, 116)))
421 cursor
= limit
- v_1
;
423 v_2
= limit
- cursor
;
428 // substring, line 85
429 among_var
= find_among_b(a_2
, 4);
451 if (!(in_grouping_b(g_st_ending
, 98, 116)))
458 if (limit_backward
> c
|| c
> limit
)
469 cursor
= limit
- v_2
;
471 v_3
= limit
- cursor
;
476 // substring, line 95
477 among_var
= find_among_b(a_4
, 8);
497 v_4
= limit
- cursor
;
503 if (!(eq_s_b(2, "ig")))
505 cursor
= limit
- v_4
;
512 v_5
= limit
- cursor
;
515 if (!(eq_s_b(1, "e")))
519 cursor
= limit
- v_4
;
522 cursor
= limit
- v_5
;
527 cursor
= limit
- v_4
;
538 v_6
= limit
- cursor
;
541 if (!(eq_s_b(1, "e")))
547 cursor
= limit
- v_6
;
557 v_7
= limit
- cursor
;
564 v_8
= limit
- cursor
;
567 if (!(eq_s_b(2, "er")))
573 cursor
= limit
- v_8
;
575 if (!(eq_s_b(2, "en")))
577 cursor
= limit
- v_7
;
586 cursor
= limit
- v_7
;
598 v_9
= limit
- cursor
;
603 // substring, line 112
604 among_var
= find_among_b(a_3
, 2);
607 cursor
= limit
- v_9
;
615 cursor
= limit
- v_9
;
620 cursor
= limit
- v_9
;
632 cursor
= limit
- v_3
;
636 public boolean stem() {
645 // call prelude, line 125
655 // call mark_regions, line 126
656 if (!r_mark_regions())
662 // backwards, line 127
663 limit_backward
= cursor
; cursor
= limit
;
665 v_3
= limit
- cursor
;
667 // call standard_suffix, line 128
668 if (!r_standard_suffix())
673 cursor
= limit
- v_3
;
674 cursor
= limit_backward
; // do, line 129
677 // call postlude, line 129