X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.5.0/lucene/contrib/analyzers/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java diff --git a/lucene-java-3.5.0/lucene/contrib/analyzers/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java b/lucene-java-3.5.0/lucene/contrib/analyzers/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java new file mode 100644 index 0000000..a719993 --- /dev/null +++ b/lucene-java-3.5.0/lucene/contrib/analyzers/common/src/java/org/tartarus/snowball/ext/DutchStemmer.java @@ -0,0 +1,837 @@ +// This file was generated automatically by the Snowball to Java compiler + +package org.tartarus.snowball.ext; +import org.tartarus.snowball.SnowballProgram; +import org.tartarus.snowball.Among; + +/** + * Generated class implementing code defined by a snowball script. + */ +public class DutchStemmer extends SnowballProgram { + + private Among a_0[] = { + new Among ( "", -1, 6, "", this), + new Among ( "\u00E1", 0, 1, "", this), + new Among ( "\u00E4", 0, 1, "", this), + new Among ( "\u00E9", 0, 2, "", this), + new Among ( "\u00EB", 0, 2, "", this), + new Among ( "\u00ED", 0, 3, "", this), + new Among ( "\u00EF", 0, 3, "", this), + new Among ( "\u00F3", 0, 4, "", this), + new Among ( "\u00F6", 0, 4, "", this), + new Among ( "\u00FA", 0, 5, "", this), + new Among ( "\u00FC", 0, 5, "", this) + }; + + private Among a_1[] = { + new Among ( "", -1, 3, "", this), + new Among ( "I", 0, 2, "", this), + new Among ( "Y", 0, 1, "", this) + }; + + private Among a_2[] = { + new Among ( "dd", -1, -1, "", this), + new Among ( "kk", -1, -1, "", this), + new Among ( "tt", -1, -1, "", this) + }; + + private Among a_3[] = { + new Among ( "ene", -1, 2, "", this), + new Among ( "se", -1, 3, "", this), + new Among ( "en", -1, 2, "", this), + new Among ( "heden", 2, 1, "", this), + new Among ( "s", -1, 3, "", this) + }; + + private Among a_4[] = { + new Among ( "end", -1, 1, "", this), + new Among ( "ig", -1, 2, "", this), + new Among ( "ing", -1, 1, "", this), + new Among ( "lijk", -1, 3, "", this), + new Among ( "baar", -1, 4, "", this), + new Among ( "bar", -1, 5, "", this) + }; + + private Among a_5[] = { + new Among ( "aa", -1, -1, "", this), + new Among ( "ee", -1, -1, "", this), + new Among ( "oo", -1, -1, "", this), + new Among ( "uu", -1, -1, "", this) + }; + + private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + 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 }; + + private static final char g_v_j[] = {17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + private int I_p2; + private int I_p1; + private boolean B_e_found; + + private void copy_from(DutchStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + B_e_found = other.B_e_found; + super.copy_from(other); + } + + private boolean r_prelude() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + // (, line 41 + // test, line 42 + v_1 = cursor; + // repeat, line 42 + replab0: while(true) + { + v_2 = cursor; + lab1: do { + // (, line 42 + // [, line 43 + bra = cursor; + // substring, line 43 + among_var = find_among(a_0, 11); + if (among_var == 0) + { + break lab1; + } + // ], line 43 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 45 + // <-, line 45 + slice_from("a"); + break; + case 2: + // (, line 47 + // <-, line 47 + slice_from("e"); + break; + case 3: + // (, line 49 + // <-, line 49 + slice_from("i"); + break; + case 4: + // (, line 51 + // <-, line 51 + slice_from("o"); + break; + case 5: + // (, line 53 + // <-, line 53 + slice_from("u"); + break; + case 6: + // (, line 54 + // next, line 54 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_2; + break replab0; + } + cursor = v_1; + // try, line 57 + v_3 = cursor; + lab2: do { + // (, line 57 + // [, line 57 + bra = cursor; + // literal, line 57 + if (!(eq_s(1, "y"))) + { + cursor = v_3; + break lab2; + } + // ], line 57 + ket = cursor; + // <-, line 57 + slice_from("Y"); + } while (false); + // repeat, line 58 + replab3: while(true) + { + v_4 = cursor; + lab4: do { + // goto, line 58 + golab5: while(true) + { + v_5 = cursor; + lab6: do { + // (, line 58 + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + // [, line 59 + bra = cursor; + // or, line 59 + lab7: do { + v_6 = cursor; + lab8: do { + // (, line 59 + // literal, line 59 + if (!(eq_s(1, "i"))) + { + break lab8; + } + // ], line 59 + ket = cursor; + if (!(in_grouping(g_v, 97, 232))) + { + break lab8; + } + // <-, line 59 + slice_from("I"); + break lab7; + } while (false); + cursor = v_6; + // (, line 60 + // literal, line 60 + if (!(eq_s(1, "y"))) + { + break lab6; + } + // ], line 60 + ket = cursor; + // <-, line 60 + slice_from("Y"); + } while (false); + cursor = v_5; + break golab5; + } while (false); + cursor = v_5; + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + continue replab3; + } while (false); + cursor = v_4; + break replab3; + } + return true; + } + + private boolean r_mark_regions() { + // (, line 64 + I_p1 = limit; + I_p2 = limit; + // gopast, line 69 + golab0: while(true) + { + lab1: do { + if (!(in_grouping(g_v, 97, 232))) + { + break lab1; + } + break golab0; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 69 + golab2: while(true) + { + lab3: do { + if (!(out_grouping(g_v, 97, 232))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p1, line 69 + I_p1 = cursor; + // try, line 70 + lab4: do { + // (, line 70 + if (!(I_p1 < 3)) + { + break lab4; + } + I_p1 = 3; + } while (false); + // gopast, line 71 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 71 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 232))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p2, line 71 + I_p2 = cursor; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 75 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 75 + // [, line 77 + bra = cursor; + // substring, line 77 + among_var = find_among(a_1, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 77 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 78 + // <-, line 78 + slice_from("y"); + break; + case 2: + // (, line 79 + // <-, line 79 + slice_from("i"); + break; + case 3: + // (, line 80 + // next, line 80 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_undouble() { + int v_1; + // (, line 90 + // test, line 91 + v_1 = limit - cursor; + // among, line 91 + if (find_among_b(a_2, 3) == 0) + { + return false; + } + cursor = limit - v_1; + // [, line 91 + ket = cursor; + // next, line 91 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 91 + bra = cursor; + // delete, line 91 + slice_del(); + return true; + } + + private boolean r_e_ending() { + int v_1; + // (, line 94 + // unset e_found, line 95 + B_e_found = false; + // [, line 96 + ket = cursor; + // literal, line 96 + if (!(eq_s_b(1, "e"))) + { + return false; + } + // ], line 96 + bra = cursor; + // call R1, line 96 + if (!r_R1()) + { + return false; + } + // test, line 96 + v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + // delete, line 96 + slice_del(); + // set e_found, line 97 + B_e_found = true; + // call undouble, line 98 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_en_ending() { + int v_1; + int v_2; + // (, line 101 + // call R1, line 102 + if (!r_R1()) + { + return false; + } + // and, line 102 + v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + // not, line 102 + { + v_2 = limit - cursor; + lab0: do { + // literal, line 102 + if (!(eq_s_b(3, "gem"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_2; + } + // delete, line 102 + slice_del(); + // call undouble, line 103 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 106 + // do, line 107 + v_1 = limit - cursor; + lab0: do { + // (, line 107 + // [, line 108 + ket = cursor; + // substring, line 108 + among_var = find_among_b(a_3, 5); + if (among_var == 0) + { + break lab0; + } + // ], line 108 + bra = cursor; + switch(among_var) { + case 0: + break lab0; + case 1: + // (, line 110 + // call R1, line 110 + if (!r_R1()) + { + break lab0; + } + // <-, line 110 + slice_from("heid"); + break; + case 2: + // (, line 113 + // call en_ending, line 113 + if (!r_en_ending()) + { + break lab0; + } + break; + case 3: + // (, line 116 + // call R1, line 116 + if (!r_R1()) + { + break lab0; + } + if (!(out_grouping_b(g_v_j, 97, 232))) + { + break lab0; + } + // delete, line 116 + slice_del(); + break; + } + } while (false); + cursor = limit - v_1; + // do, line 120 + v_2 = limit - cursor; + lab1: do { + // call e_ending, line 120 + if (!r_e_ending()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 122 + v_3 = limit - cursor; + lab2: do { + // (, line 122 + // [, line 122 + ket = cursor; + // literal, line 122 + if (!(eq_s_b(4, "heid"))) + { + break lab2; + } + // ], line 122 + bra = cursor; + // call R2, line 122 + if (!r_R2()) + { + break lab2; + } + // not, line 122 + { + v_4 = limit - cursor; + lab3: do { + // literal, line 122 + if (!(eq_s_b(1, "c"))) + { + break lab3; + } + break lab2; + } while (false); + cursor = limit - v_4; + } + // delete, line 122 + slice_del(); + // [, line 123 + ket = cursor; + // literal, line 123 + if (!(eq_s_b(2, "en"))) + { + break lab2; + } + // ], line 123 + bra = cursor; + // call en_ending, line 123 + if (!r_en_ending()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 126 + v_5 = limit - cursor; + lab4: do { + // (, line 126 + // [, line 127 + ket = cursor; + // substring, line 127 + among_var = find_among_b(a_4, 6); + if (among_var == 0) + { + break lab4; + } + // ], line 127 + bra = cursor; + switch(among_var) { + case 0: + break lab4; + case 1: + // (, line 129 + // call R2, line 129 + if (!r_R2()) + { + break lab4; + } + // delete, line 129 + slice_del(); + // or, line 130 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // (, line 130 + // [, line 130 + ket = cursor; + // literal, line 130 + if (!(eq_s_b(2, "ig"))) + { + break lab6; + } + // ], line 130 + bra = cursor; + // call R2, line 130 + if (!r_R2()) + { + break lab6; + } + // not, line 130 + { + v_7 = limit - cursor; + lab7: do { + // literal, line 130 + if (!(eq_s_b(1, "e"))) + { + break lab7; + } + break lab6; + } while (false); + cursor = limit - v_7; + } + // delete, line 130 + slice_del(); + break lab5; + } while (false); + cursor = limit - v_6; + // call undouble, line 130 + if (!r_undouble()) + { + break lab4; + } + } while (false); + break; + case 2: + // (, line 133 + // call R2, line 133 + if (!r_R2()) + { + break lab4; + } + // not, line 133 + { + v_8 = limit - cursor; + lab8: do { + // literal, line 133 + if (!(eq_s_b(1, "e"))) + { + break lab8; + } + break lab4; + } while (false); + cursor = limit - v_8; + } + // delete, line 133 + slice_del(); + break; + case 3: + // (, line 136 + // call R2, line 136 + if (!r_R2()) + { + break lab4; + } + // delete, line 136 + slice_del(); + // call e_ending, line 136 + if (!r_e_ending()) + { + break lab4; + } + break; + case 4: + // (, line 139 + // call R2, line 139 + if (!r_R2()) + { + break lab4; + } + // delete, line 139 + slice_del(); + break; + case 5: + // (, line 142 + // call R2, line 142 + if (!r_R2()) + { + break lab4; + } + // Boolean test e_found, line 142 + if (!(B_e_found)) + { + break lab4; + } + // delete, line 142 + slice_del(); + break; + } + } while (false); + cursor = limit - v_5; + // do, line 146 + v_9 = limit - cursor; + lab9: do { + // (, line 146 + if (!(out_grouping_b(g_v_I, 73, 232))) + { + break lab9; + } + // test, line 148 + v_10 = limit - cursor; + // (, line 148 + // among, line 149 + if (find_among_b(a_5, 4) == 0) + { + break lab9; + } + if (!(out_grouping_b(g_v, 97, 232))) + { + break lab9; + } + cursor = limit - v_10; + // [, line 152 + ket = cursor; + // next, line 152 + if (cursor <= limit_backward) + { + break lab9; + } + cursor--; + // ], line 152 + bra = cursor; + // delete, line 152 + slice_del(); + } while (false); + cursor = limit - v_9; + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 157 + // do, line 159 + v_1 = cursor; + lab0: do { + // call prelude, line 159 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 160 + v_2 = cursor; + lab1: do { + // call mark_regions, line 160 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 161 + limit_backward = cursor; cursor = limit; + // do, line 162 + v_3 = limit - cursor; + lab2: do { + // call standard_suffix, line 162 + if (!r_standard_suffix()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + cursor = limit_backward; // do, line 163 + v_4 = cursor; + lab3: do { + // call postlude, line 163 + if (!r_postlude()) + { + break lab3; + } + } while (false); + cursor = v_4; + return true; + } + +} +