⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 german2stemmer.java

📁 MG4J (Managing Gigabytes for Java) is a free full-text search engine for large document collections
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// This file was generated automatically by the Snowball to Java compilerpackage it.unimi.dsi.mg4j.index.snowball;import it.unimi.dsi.mg4j.index.snowball.Among; /**  * This class was automatically generated by a Snowball to Java compiler   * It implements the stemming algorithm defined by a snowball script.  */public class German2Stemmer extends it.unimi.dsi.mg4j.index.snowball.AbstractSnowballTermProcessor {private static final long serialVersionUID = 1L;        private final static German2Stemmer methodObject = new German2Stemmer ();                private final static Among a_0[] = {                    new Among ( "", -1, 6, "", methodObject ),                    new Among ( "ae", 0, 2, "", methodObject ),                    new Among ( "oe", 0, 3, "", methodObject ),                    new Among ( "qu", 0, 5, "", methodObject ),                    new Among ( "ue", 0, 4, "", methodObject ),                    new Among ( "\u00DF", 0, 1, "", methodObject )                };                private final static Among a_1[] = {                    new Among ( "", -1, 6, "", methodObject ),                    new Among ( "U", 0, 2, "", methodObject ),                    new Among ( "Y", 0, 1, "", methodObject ),                    new Among ( "\u00E4", 0, 3, "", methodObject ),                    new Among ( "\u00F6", 0, 4, "", methodObject ),                    new Among ( "\u00FC", 0, 5, "", methodObject )                };                private final static Among a_2[] = {                    new Among ( "e", -1, 1, "", methodObject ),                    new Among ( "em", -1, 1, "", methodObject ),                    new Among ( "en", -1, 1, "", methodObject ),                    new Among ( "ern", -1, 1, "", methodObject ),                    new Among ( "er", -1, 1, "", methodObject ),                    new Among ( "s", -1, 2, "", methodObject ),                    new Among ( "es", 5, 1, "", methodObject )                };                private final static Among a_3[] = {                    new Among ( "en", -1, 1, "", methodObject ),                    new Among ( "er", -1, 1, "", methodObject ),                    new Among ( "st", -1, 2, "", methodObject ),                    new Among ( "est", 2, 1, "", methodObject )                };                private final static Among a_4[] = {                    new Among ( "ig", -1, 1, "", methodObject ),                    new Among ( "lich", -1, 1, "", methodObject )                };                private final static Among a_5[] = {                    new Among ( "end", -1, 1, "", methodObject ),                    new Among ( "ig", -1, 2, "", methodObject ),                    new Among ( "ung", -1, 1, "", methodObject ),                    new Among ( "lich", -1, 3, "", methodObject ),                    new Among ( "isch", -1, 2, "", methodObject ),                    new Among ( "ik", -1, 2, "", methodObject ),                    new Among ( "heit", -1, 3, "", methodObject ),                    new Among ( "keit", -1, 4, "", methodObject )                };                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 };                private static final char g_s_ending[] = {117, 30, 5 };                private static final char g_st_ending[] = {117, 30, 4 };        private int I_x;        private int I_p2;        private int I_p1;                private boolean r_prelude() {            int among_var;            int v_1;            int v_2;            int v_3;            int v_4;            int v_5;                    // (, line 28                    // test, line 30                    v_1 = cursor;                    // repeat, line 30                    replab0: while(true)                    {                        v_2 = cursor;                        lab1: do {                            // goto, line 30                            golab2: while(true)                            {                                v_3 = cursor;                                lab3: do {                                    // (, line 30                                    if (!(in_grouping(g_v, 97, 252)))                                    {                                        break lab3;                                    }                                    // [, line 31                                    bra = cursor;                                    // or, line 31                                    lab4: do {                                        v_4 = cursor;                                        lab5: do {                                            // (, line 31                                            // literal, line 31                                            if (!(eq_s(1, "u")))                                            {                                                break lab5;                                            }                                            // ], line 31                                            ket = cursor;                                            if (!(in_grouping(g_v, 97, 252)))                                            {                                                break lab5;                                            }                                            // <-, line 31                                            slice_from("U");                                            break lab4;                                        } while (false);                                        cursor = v_4;                                        // (, line 32                                        // literal, line 32                                        if (!(eq_s(1, "y")))                                        {                                            break lab3;                                        }                                        // ], line 32                                        ket = cursor;                                        if (!(in_grouping(g_v, 97, 252)))                                        {                                            break lab3;                                        }                                        // <-, line 32                                        slice_from("Y");                                    } while (false);                                    cursor = v_3;                                    break golab2;                                } while (false);                                cursor = v_3;                                if (cursor >= limit)                                {                                    break lab1;                                }                                cursor++;                            }                            continue replab0;                        } while (false);                        cursor = v_2;                        break replab0;                    }                    cursor = v_1;                    // repeat, line 35                    replab6: while(true)                    {                        v_5 = cursor;                        lab7: do {                            // (, line 35                            // [, line 36                            bra = cursor;                            // substring, line 36                            among_var = find_among(a_0, 6);                            if (among_var == 0)                            {                                break lab7;                            }                            // ], line 36                            ket = cursor;                            switch(among_var) {                                case 0:                                    break lab7;                                case 1:                                    // (, line 37                                    // <-, line 37                                    slice_from("ss");                                    break;                                case 2:                                    // (, line 38                                    // <-, line 38                                    slice_from("\u00E4");                                    break;                                case 3:                                    // (, line 39                                    // <-, line 39                                    slice_from("\u00F6");                                    break;                                case 4:                                    // (, line 40                                    // <-, line 40                                    slice_from("\u00FC");                                    break;                                case 5:                                    // (, line 41                                    // hop, line 41                                    {                                        int c = cursor + 2;                                        if (0 > c || c > limit)                                        {                                            break lab7;                                        }                                        cursor = c;                                    }                                    break;                                case 6:                                    // (, line 42                                    // next, line 42                                    if (cursor >= limit)                                    {                                        break lab7;                                    }                                    cursor++;                                    break;                            }                            continue replab6;                        } while (false);                        cursor = v_5;                        break replab6;                    }                    return true;                }                private boolean r_mark_regions() {            int v_1;                    // (, line 48                    I_p1 = limit;                    I_p2 = limit;                    // test, line 53                    v_1 = cursor;                    // (, line 53                    // hop, line 53                    {                        int c = cursor + 3;                        if (0 > c || c > limit)                        {                            return false;                        }                        cursor = c;                    }                    // setmark x, line 53                    I_x = cursor;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -