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 DutchStemmer extends SnowballProgram {
12 private Among a_0[] = {
13 new Among ( "", -1, 6, "", this),
14 new Among ( "\u00E1", 0, 1, "", this),
15 new Among ( "\u00E4", 0, 1, "", this),
16 new Among ( "\u00E9", 0, 2, "", this),
17 new Among ( "\u00EB", 0, 2, "", this),
18 new Among ( "\u00ED", 0, 3, "", this),
19 new Among ( "\u00EF", 0, 3, "", this),
20 new Among ( "\u00F3", 0, 4, "", this),
21 new Among ( "\u00F6", 0, 4, "", this),
22 new Among ( "\u00FA", 0, 5, "", this),
23 new Among ( "\u00FC", 0, 5, "", this)
26 private Among a_1[] = {
27 new Among ( "", -1, 3, "", this),
28 new Among ( "I", 0, 2, "", this),
29 new Among ( "Y", 0, 1, "", this)
32 private Among a_2[] = {
33 new Among ( "dd", -1, -1, "", this),
34 new Among ( "kk", -1, -1, "", this),
35 new Among ( "tt", -1, -1, "", this)
38 private Among a_3[] = {
39 new Among ( "ene", -1, 2, "", this),
40 new Among ( "se", -1, 3, "", this),
41 new Among ( "en", -1, 2, "", this),
42 new Among ( "heden", 2, 1, "", this),
43 new Among ( "s", -1, 3, "", this)
46 private Among a_4[] = {
47 new Among ( "end", -1, 1, "", this),
48 new Among ( "ig", -1, 2, "", this),
49 new Among ( "ing", -1, 1, "", this),
50 new Among ( "lijk", -1, 3, "", this),
51 new Among ( "baar", -1, 4, "", this),
52 new Among ( "bar", -1, 5, "", this)
55 private Among a_5[] = {
56 new Among ( "aa", -1, -1, "", this),
57 new Among ( "ee", -1, -1, "", this),
58 new Among ( "oo", -1, -1, "", this),
59 new Among ( "uu", -1, -1, "", this)
62 private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
64 private static final char g_v_I[] = {1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
66 private static final char g_v_j[] = {17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
70 private boolean B_e_found;
72 private void copy_from(DutchStemmer other) {
75 B_e_found = other.B_e_found;
76 super.copy_from(other);
79 private boolean r_prelude() {
99 among_var = find_among(a_0, 11);
178 if (!(in_grouping(g_v, 97, 232)))
196 if (!(in_grouping(g_v, 97, 232)))
234 private boolean r_mark_regions() {
242 if (!(in_grouping(g_v, 97, 232)))
258 if (!(out_grouping(g_v, 97, 232)))
270 // setmark p1, line 69
285 if (!(in_grouping(g_v, 97, 232)))
301 if (!(out_grouping(g_v, 97, 232)))
313 // setmark p2, line 71
318 private boolean r_postlude() {
329 // substring, line 77
330 among_var = find_among(a_1, 3);
368 private boolean r_R1() {
369 if (!(I_p1 <= cursor))
376 private boolean r_R2() {
377 if (!(I_p2 <= cursor))
384 private boolean r_undouble() {
388 v_1 = limit - cursor;
390 if (find_among_b(a_2, 3) == 0)
394 cursor = limit - v_1;
398 if (cursor <= limit_backward)
410 private boolean r_e_ending() {
413 // unset e_found, line 95
418 if (!(eq_s_b(1, "e")))
430 v_1 = limit - cursor;
431 if (!(out_grouping_b(g_v, 97, 232)))
435 cursor = limit - v_1;
438 // set e_found, line 97
440 // call undouble, line 98
448 private boolean r_en_ending() {
458 v_1 = limit - cursor;
459 if (!(out_grouping_b(g_v, 97, 232)))
463 cursor = limit - v_1;
466 v_2 = limit - cursor;
469 if (!(eq_s_b(3, "gem")))
475 cursor = limit - v_2;
479 // call undouble, line 103
487 private boolean r_standard_suffix() {
501 v_1 = limit - cursor;
506 // substring, line 108
507 among_var = find_among_b(a_3, 5);
529 // call en_ending, line 113
542 if (!(out_grouping_b(g_v_j, 97, 232)))
551 cursor = limit - v_1;
553 v_2 = limit - cursor;
555 // call e_ending, line 120
561 cursor = limit - v_2;
563 v_3 = limit - cursor;
569 if (!(eq_s_b(4, "heid")))
582 v_4 = limit - cursor;
585 if (!(eq_s_b(1, "c")))
591 cursor = limit - v_4;
598 if (!(eq_s_b(2, "en")))
604 // call en_ending, line 123
610 cursor = limit - v_3;
612 v_5 = limit - cursor;
617 // substring, line 127
618 among_var = find_among_b(a_4, 6);
639 v_6 = limit - cursor;
645 if (!(eq_s_b(2, "ig")))
658 v_7 = limit - cursor;
661 if (!(eq_s_b(1, "e")))
667 cursor = limit - v_7;
673 cursor = limit - v_6;
674 // call undouble, line 130
690 v_8 = limit - cursor;
693 if (!(eq_s_b(1, "e")))
699 cursor = limit - v_8;
713 // call e_ending, line 136
736 // Boolean test e_found, line 142
746 cursor = limit - v_5;
748 v_9 = limit - cursor;
751 if (!(out_grouping_b(g_v_I, 73, 232)))
756 v_10 = limit - cursor;
759 if (find_among_b(a_5, 4) == 0)
763 if (!(out_grouping_b(g_v, 97, 232)))
767 cursor = limit - v_10;
771 if (cursor <= limit_backward)
781 cursor = limit - v_9;
785 public boolean stem() {
794 // call prelude, line 159
804 // call mark_regions, line 160
805 if (!r_mark_regions())
811 // backwards, line 161
812 limit_backward = cursor; cursor = limit;
814 v_3 = limit - cursor;
816 // call standard_suffix, line 162
817 if (!r_standard_suffix())
822 cursor = limit - v_3;
823 cursor = limit_backward; // do, line 163
826 // call postlude, line 163