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

📄 germanstemmer.java

📁 一套java版本的搜索引擎源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        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_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;            // (, line 71            // do, line 72            v_1 = limit - cursor;            lab0: do {                // (, line 72                // [, line 73                ket = cursor;                // substring, line 73                among_var = find_among_b(a_1, 7);                if (among_var == 0)                {                    break lab0;                }                // ], line 73                bra = cursor;                // call R1, line 73                if (!r_R1())                {                    break lab0;                }                switch(among_var) {                    case 0:                        break lab0;                    case 1:                        // (, line 75                        // delete, line 75                        slice_del();                        break;                    case 2:                        // (, line 78                        if (!(in_grouping_b(g_s_ending, 98, 116)))                        {                            break lab0;                        }                        // delete, line 78                        slice_del();                        break;                }            } while (false);            cursor = limit - v_1;            // do, line 82            v_2 = limit - cursor;            lab1: do {                // (, line 82                // [, line 83                ket = cursor;                // substring, line 83                among_var = find_among_b(a_2, 4);                if (among_var == 0)                {                    break lab1;                }                // ], line 83                bra = cursor;                // call R1, line 83                if (!r_R1())                {                    break lab1;                }                switch(among_var) {                    case 0:                        break lab1;                    case 1:                        // (, line 85                        // delete, line 85                        slice_del();                        break;                    case 2:                        // (, line 88                        if (!(in_grouping_b(g_st_ending, 98, 116)))                        {                            break lab1;                        }                        // hop, line 88                        {                            int c = cursor - 3;                            if (limit_backward > c || c > limit)                            {                                break lab1;                            }                            cursor = c;                        }                        // delete, line 88                        slice_del();                        break;                }            } while (false);            cursor = limit - v_2;            // do, line 92            v_3 = limit - cursor;            lab2: do {                // (, line 92                // [, line 93                ket = cursor;                // substring, line 93                among_var = find_among_b(a_4, 8);                if (among_var == 0)                {                    break lab2;                }                // ], line 93                bra = cursor;                // call R2, line 93                if (!r_R2())                {                    break lab2;                }                switch(among_var) {                    case 0:                        break lab2;                    case 1:                        // (, line 95                        // delete, line 95                        slice_del();                        // try, line 96                        v_4 = limit - cursor;                        lab3: do {                            // (, line 96                            // [, line 96                            ket = cursor;                            // literal, line 96                            if (!(eq_s_b(2, "ig")))                            {                                cursor = limit - v_4;                                break lab3;                            }                            // ], line 96                            bra = cursor;                            // not, line 96                            {                                v_5 = limit - cursor;                                lab4: do {                                    // literal, line 96                                    if (!(eq_s_b(1, "e")))                                    {                                        break lab4;                                    }                                    cursor = limit - v_4;                                    break lab3;                                } while (false);                                cursor = limit - v_5;                            }                            // call R2, line 96                            if (!r_R2())                            {                                cursor = limit - v_4;                                break lab3;                            }                            // delete, line 96                            slice_del();                        } while (false);                        break;                    case 2:                        // (, line 99                        // not, line 99                        {                            v_6 = limit - cursor;                            lab5: do {                                // literal, line 99                                if (!(eq_s_b(1, "e")))                                {                                    break lab5;                                }                                break lab2;                            } while (false);                            cursor = limit - v_6;                        }                        // delete, line 99                        slice_del();                        break;                    case 3:                        // (, line 102                        // delete, line 102                        slice_del();                        // try, line 103                        v_7 = limit - cursor;                        lab6: do {                            // (, line 103                            // [, line 104                            ket = cursor;                            // or, line 104                            lab7: do {                                v_8 = limit - cursor;                                lab8: do {                                    // literal, line 104                                    if (!(eq_s_b(2, "er")))                                    {                                        break lab8;                                    }                                    break lab7;                                } while (false);                                cursor = limit - v_8;                                // literal, line 104                                if (!(eq_s_b(2, "en")))                                {                                    cursor = limit - v_7;                                    break lab6;                                }                            } while (false);                            // ], line 104                            bra = cursor;                            // call R1, line 104                            if (!r_R1())                            {                                cursor = limit - v_7;                                break lab6;                            }                            // delete, line 104                            slice_del();                        } while (false);                        break;                    case 4:                        // (, line 108                        // delete, line 108                        slice_del();                        // try, line 109                        v_9 = limit - cursor;                        lab9: do {                            // (, line 109                            // [, line 110                            ket = cursor;                            // substring, line 110                            among_var = find_among_b(a_3, 2);                            if (among_var == 0)                            {                                cursor = limit - v_9;                                break lab9;                            }                            // ], line 110                            bra = cursor;                            // call R2, line 110                            if (!r_R2())                            {                                cursor = limit - v_9;                                break lab9;                            }                            switch(among_var) {                                case 0:                                    cursor = limit - v_9;                                    break lab9;                                case 1:                                    // (, line 112                                    // delete, line 112                                    slice_del();                                    break;                            }                        } while (false);                        break;                }            } while (false);            cursor = limit - v_3;            return true;        }        public boolean stem() {            int v_1;            int v_2;            int v_3;            int v_4;            // (, line 122            // do, line 123            v_1 = cursor;            lab0: do {                // call prelude, line 123                if (!r_prelude())                {                    break lab0;                }            } while (false);            cursor = v_1;            // do, line 124            v_2 = cursor;            lab1: do {                // call mark_regions, line 124                if (!r_mark_regions())                {                    break lab1;                }            } while (false);            cursor = v_2;            // backwards, line 125            limit_backward = cursor; cursor = limit;            // do, line 126            v_3 = limit - cursor;            lab2: do {                // call standard_suffix, line 126                if (!r_standard_suffix())                {                    break lab2;                }            } while (false);            cursor = limit - v_3;            cursor = limit_backward;            // do, line 127            v_4 = cursor;            lab3: do {                // call postlude, line 127                if (!r_postlude())                {                    break lab3;                }            } while (false);            cursor = v_4;            return true;        }}

⌨️ 快捷键说明

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