FileDocCategorySizeDatePackage
LovinsStemmer.javaAPI DocApache Lucene 1.963637Mon Feb 20 09:17:48 GMT 2006net.sf.snowball.ext

LovinsStemmer

public class LovinsStemmer extends net.sf.snowball.SnowballProgram
Generated class implementing code defined by a snowball script.

Fields Summary
private net.sf.snowball.Among[]
a_0
private net.sf.snowball.Among[]
a_1
private net.sf.snowball.Among[]
a_2
private net.sf.snowball.Among[]
a_3
Constructors Summary
Methods Summary
private voidcopy_from(net.sf.snowball.ext.LovinsStemmer other)



            
            super.copy_from(other);
        
private booleanr_A()

            // (, line 21
            // hop, line 21
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            return true;
        
private booleanr_AA()

            int v_1;
            // (, line 47
            // test, line 47
            v_1 = limit - cursor;
            // hop, line 47
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // among, line 47
            if (find_among_b(a_0, 9) == 0)
            {
                return false;
            }
            return true;
        
private booleanr_B()

            // (, line 22
            // hop, line 22
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            return true;
        
private booleanr_BB()

            int v_1;
            int v_2;
            int v_3;
            // (, line 49
            // test, line 49
            v_1 = limit - cursor;
            // hop, line 49
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 49
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 49
                    if (!(eq_s_b(3, "met")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 49
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 49
                    if (!(eq_s_b(4, "ryst")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            return true;
        
private booleanr_C()

            // (, line 23
            // hop, line 23
            {
                int c = cursor - 4;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            return true;
        
private booleanr_CC()

            int v_1;
            // (, line 50
            // test, line 50
            v_1 = limit - cursor;
            // hop, line 50
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // literal, line 50
            if (!(eq_s_b(1, "l")))
            {
                return false;
            }
            return true;
        
private booleanr_D()

            // (, line 24
            // hop, line 24
            {
                int c = cursor - 5;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            return true;
        
private booleanr_E()

            int v_1;
            int v_2;
            // (, line 25
            // test, line 25
            v_1 = limit - cursor;
            // hop, line 25
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 25
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 25
                    if (!(eq_s_b(1, "e")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            return true;
        
private booleanr_F()

            int v_1;
            int v_2;
            // (, line 26
            // test, line 26
            v_1 = limit - cursor;
            // hop, line 26
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 26
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 26
                    if (!(eq_s_b(1, "e")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            return true;
        
private booleanr_G()

            int v_1;
            // (, line 27
            // test, line 27
            v_1 = limit - cursor;
            // hop, line 27
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // literal, line 27
            if (!(eq_s_b(1, "f")))
            {
                return false;
            }
            return true;
        
private booleanr_H()

            int v_1;
            int v_2;
            // (, line 28
            // test, line 28
            v_1 = limit - cursor;
            // hop, line 28
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 28
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 28
                    if (!(eq_s_b(1, "t")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // literal, line 28
                if (!(eq_s_b(2, "ll")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_I()

            int v_1;
            int v_2;
            int v_3;
            // (, line 29
            // test, line 29
            v_1 = limit - cursor;
            // hop, line 29
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 29
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 29
                    if (!(eq_s_b(1, "o")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 29
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 29
                    if (!(eq_s_b(1, "e")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            return true;
        
private booleanr_J()

            int v_1;
            int v_2;
            int v_3;
            // (, line 30
            // test, line 30
            v_1 = limit - cursor;
            // hop, line 30
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 30
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 30
                    if (!(eq_s_b(1, "a")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 30
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 30
                    if (!(eq_s_b(1, "e")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            return true;
        
private booleanr_K()

            int v_1;
            int v_2;
            // (, line 31
            // test, line 31
            v_1 = limit - cursor;
            // hop, line 31
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 31
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 31
                    if (!(eq_s_b(1, "l")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                lab2: do {
                    // literal, line 31
                    if (!(eq_s_b(1, "i")))
                    {
                        break lab2;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // (, line 31
                // literal, line 31
                if (!(eq_s_b(1, "e")))
                {
                    return false;
                }
                // next, line 31
                if (cursor <= limit_backward)
                {
                    return false;
                }
                cursor--;
                // literal, line 31
                if (!(eq_s_b(1, "u")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_L()

            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
            // (, line 32
            // test, line 32
            v_1 = limit - cursor;
            // hop, line 32
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 32
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 32
                    if (!(eq_s_b(1, "u")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 32
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 32
                    if (!(eq_s_b(1, "x")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            // not, line 32
            {
                v_4 = limit - cursor;
                lab2: do {
                    // (, line 32
                    // literal, line 32
                    if (!(eq_s_b(1, "s")))
                    {
                        break lab2;
                    }
                    // not, line 32
                    {
                        v_5 = limit - cursor;
                        lab3: do {
                            // literal, line 32
                            if (!(eq_s_b(1, "o")))
                            {
                                break lab3;
                            }
                            break lab2;
                        } while (false);
                        cursor = limit - v_5;
                    }
                    return false;
                } while (false);
                cursor = limit - v_4;
            }
            return true;
        
private booleanr_M()

            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
            // (, line 33
            // test, line 33
            v_1 = limit - cursor;
            // hop, line 33
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 33
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 33
                    if (!(eq_s_b(1, "a")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 33
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 33
                    if (!(eq_s_b(1, "c")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            // not, line 33
            {
                v_4 = limit - cursor;
                lab2: do {
                    // literal, line 33
                    if (!(eq_s_b(1, "e")))
                    {
                        break lab2;
                    }
                    return false;
                } while (false);
                cursor = limit - v_4;
            }
            // not, line 33
            {
                v_5 = limit - cursor;
                lab3: do {
                    // literal, line 33
                    if (!(eq_s_b(1, "m")))
                    {
                        break lab3;
                    }
                    return false;
                } while (false);
                cursor = limit - v_5;
            }
            return true;
        
private booleanr_N()

            int v_1;
            int v_2;
            int v_3;
            // (, line 34
            // test, line 34
            v_1 = limit - cursor;
            // hop, line 34
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // (, line 34
            // hop, line 34
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            // or, line 34
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // not, line 34
                    {
                        v_3 = limit - cursor;
                        lab2: do {
                            // literal, line 34
                            if (!(eq_s_b(1, "s")))
                            {
                                break lab2;
                            }
                            break lab1;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // hop, line 34
                {
                    int c = cursor - 2;
                    if (limit_backward > c || c > limit)
                    {
                        return false;
                    }
                    cursor = c;
                }
            } while (false);
            return true;
        
private booleanr_O()

            int v_1;
            int v_2;
            // (, line 35
            // test, line 35
            v_1 = limit - cursor;
            // hop, line 35
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 35
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 35
                    if (!(eq_s_b(1, "l")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // literal, line 35
                if (!(eq_s_b(1, "i")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_P()

            int v_1;
            int v_2;
            // (, line 36
            // test, line 36
            v_1 = limit - cursor;
            // hop, line 36
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 36
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 36
                    if (!(eq_s_b(1, "c")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            return true;
        
private booleanr_Q()

            int v_1;
            int v_2;
            int v_3;
            int v_4;
            // (, line 37
            // test, line 37
            v_1 = limit - cursor;
            // hop, line 37
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // test, line 37
            v_2 = limit - cursor;
            // hop, line 37
            {
                int c = cursor - 3;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_2;
            // not, line 37
            {
                v_3 = limit - cursor;
                lab0: do {
                    // literal, line 37
                    if (!(eq_s_b(1, "l")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            // not, line 37
            {
                v_4 = limit - cursor;
                lab1: do {
                    // literal, line 37
                    if (!(eq_s_b(1, "n")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_4;
            }
            return true;
        
private booleanr_R()

            int v_1;
            int v_2;
            // (, line 38
            // test, line 38
            v_1 = limit - cursor;
            // hop, line 38
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 38
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 38
                    if (!(eq_s_b(1, "n")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // literal, line 38
                if (!(eq_s_b(1, "r")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_S()

            int v_1;
            int v_2;
            int v_3;
            // (, line 39
            // test, line 39
            v_1 = limit - cursor;
            // hop, line 39
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 39
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 39
                    if (!(eq_s_b(2, "dr")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // (, line 39
                // literal, line 39
                if (!(eq_s_b(1, "t")))
                {
                    return false;
                }
                // not, line 39
                {
                    v_3 = limit - cursor;
                    lab2: do {
                        // literal, line 39
                        if (!(eq_s_b(1, "t")))
                        {
                            break lab2;
                        }
                        return false;
                    } while (false);
                    cursor = limit - v_3;
                }
            } while (false);
            return true;
        
private booleanr_T()

            int v_1;
            int v_2;
            int v_3;
            // (, line 40
            // test, line 40
            v_1 = limit - cursor;
            // hop, line 40
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 40
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 40
                    if (!(eq_s_b(1, "s")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // (, line 40
                // literal, line 40
                if (!(eq_s_b(1, "t")))
                {
                    return false;
                }
                // not, line 40
                {
                    v_3 = limit - cursor;
                    lab2: do {
                        // literal, line 40
                        if (!(eq_s_b(1, "o")))
                        {
                            break lab2;
                        }
                        return false;
                    } while (false);
                    cursor = limit - v_3;
                }
            } while (false);
            return true;
        
private booleanr_U()

            int v_1;
            int v_2;
            // (, line 41
            // test, line 41
            v_1 = limit - cursor;
            // hop, line 41
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 41
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 41
                    if (!(eq_s_b(1, "l")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                lab2: do {
                    // literal, line 41
                    if (!(eq_s_b(1, "m")))
                    {
                        break lab2;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                lab3: do {
                    // literal, line 41
                    if (!(eq_s_b(1, "n")))
                    {
                        break lab3;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // literal, line 41
                if (!(eq_s_b(1, "r")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_V()

            int v_1;
            // (, line 42
            // test, line 42
            v_1 = limit - cursor;
            // hop, line 42
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // literal, line 42
            if (!(eq_s_b(1, "c")))
            {
                return false;
            }
            return true;
        
private booleanr_W()

            int v_1;
            int v_2;
            int v_3;
            // (, line 43
            // test, line 43
            v_1 = limit - cursor;
            // hop, line 43
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 43
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 43
                    if (!(eq_s_b(1, "s")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            // not, line 43
            {
                v_3 = limit - cursor;
                lab1: do {
                    // literal, line 43
                    if (!(eq_s_b(1, "u")))
                    {
                        break lab1;
                    }
                    return false;
                } while (false);
                cursor = limit - v_3;
            }
            return true;
        
private booleanr_X()

            int v_1;
            int v_2;
            // (, line 44
            // test, line 44
            v_1 = limit - cursor;
            // hop, line 44
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // or, line 44
            lab0: do {
                v_2 = limit - cursor;
                lab1: do {
                    // literal, line 44
                    if (!(eq_s_b(1, "l")))
                    {
                        break lab1;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                lab2: do {
                    // literal, line 44
                    if (!(eq_s_b(1, "i")))
                    {
                        break lab2;
                    }
                    break lab0;
                } while (false);
                cursor = limit - v_2;
                // (, line 44
                // literal, line 44
                if (!(eq_s_b(1, "e")))
                {
                    return false;
                }
                // next, line 44
                if (cursor <= limit_backward)
                {
                    return false;
                }
                cursor--;
                // literal, line 44
                if (!(eq_s_b(1, "u")))
                {
                    return false;
                }
            } while (false);
            return true;
        
private booleanr_Y()

            int v_1;
            // (, line 45
            // test, line 45
            v_1 = limit - cursor;
            // hop, line 45
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // literal, line 45
            if (!(eq_s_b(2, "in")))
            {
                return false;
            }
            return true;
        
private booleanr_Z()

            int v_1;
            int v_2;
            // (, line 46
            // test, line 46
            v_1 = limit - cursor;
            // hop, line 46
            {
                int c = cursor - 2;
                if (limit_backward > c || c > limit)
                {
                    return false;
                }
                cursor = c;
            }
            cursor = limit - v_1;
            // not, line 46
            {
                v_2 = limit - cursor;
                lab0: do {
                    // literal, line 46
                    if (!(eq_s_b(1, "f")))
                    {
                        break lab0;
                    }
                    return false;
                } while (false);
                cursor = limit - v_2;
            }
            return true;
        
private booleanr_endings()

            int among_var;
            // (, line 55
            // [, line 56
            ket = cursor;
            // substring, line 56
            among_var = find_among_b(a_1, 294);
            if (among_var == 0)
            {
                return false;
            }
            // ], line 56
            bra = cursor;
            switch(among_var) {
                case 0:
                    return false;
                case 1:
                    // (, line 145
                    // delete, line 145
                    slice_del();
                    break;
            }
            return true;
        
private booleanr_respell()

            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;
            // (, line 159
            // [, line 160
            ket = cursor;
            // substring, line 160
            among_var = find_among_b(a_3, 34);
            if (among_var == 0)
            {
                return false;
            }
            // ], line 160
            bra = cursor;
            switch(among_var) {
                case 0:
                    return false;
                case 1:
                    // (, line 161
                    // <-, line 161
                    slice_from("ief");
                    break;
                case 2:
                    // (, line 162
                    // <-, line 162
                    slice_from("uc");
                    break;
                case 3:
                    // (, line 163
                    // <-, line 163
                    slice_from("um");
                    break;
                case 4:
                    // (, line 164
                    // <-, line 164
                    slice_from("rb");
                    break;
                case 5:
                    // (, line 165
                    // <-, line 165
                    slice_from("ur");
                    break;
                case 6:
                    // (, line 166
                    // <-, line 166
                    slice_from("ister");
                    break;
                case 7:
                    // (, line 167
                    // <-, line 167
                    slice_from("meter");
                    break;
                case 8:
                    // (, line 168
                    // <-, line 168
                    slice_from("olut");
                    break;
                case 9:
                    // (, line 169
                    // not, line 169
                    {
                        v_1 = limit - cursor;
                        lab0: do {
                            // literal, line 169
                            if (!(eq_s_b(1, "a")))
                            {
                                break lab0;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_1;
                    }
                    // not, line 169
                    {
                        v_2 = limit - cursor;
                        lab1: do {
                            // literal, line 169
                            if (!(eq_s_b(1, "i")))
                            {
                                break lab1;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_2;
                    }
                    // not, line 169
                    {
                        v_3 = limit - cursor;
                        lab2: do {
                            // literal, line 169
                            if (!(eq_s_b(1, "o")))
                            {
                                break lab2;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_3;
                    }
                    // <-, line 169
                    slice_from("l");
                    break;
                case 10:
                    // (, line 170
                    // <-, line 170
                    slice_from("bic");
                    break;
                case 11:
                    // (, line 171
                    // <-, line 171
                    slice_from("dic");
                    break;
                case 12:
                    // (, line 172
                    // <-, line 172
                    slice_from("pic");
                    break;
                case 13:
                    // (, line 173
                    // <-, line 173
                    slice_from("tic");
                    break;
                case 14:
                    // (, line 174
                    // <-, line 174
                    slice_from("ac");
                    break;
                case 15:
                    // (, line 175
                    // <-, line 175
                    slice_from("ec");
                    break;
                case 16:
                    // (, line 176
                    // <-, line 176
                    slice_from("ic");
                    break;
                case 17:
                    // (, line 177
                    // <-, line 177
                    slice_from("luc");
                    break;
                case 18:
                    // (, line 178
                    // <-, line 178
                    slice_from("uas");
                    break;
                case 19:
                    // (, line 179
                    // <-, line 179
                    slice_from("vas");
                    break;
                case 20:
                    // (, line 180
                    // <-, line 180
                    slice_from("cis");
                    break;
                case 21:
                    // (, line 181
                    // <-, line 181
                    slice_from("lis");
                    break;
                case 22:
                    // (, line 182
                    // <-, line 182
                    slice_from("eris");
                    break;
                case 23:
                    // (, line 183
                    // <-, line 183
                    slice_from("pans");
                    break;
                case 24:
                    // (, line 184
                    // not, line 184
                    {
                        v_4 = limit - cursor;
                        lab3: do {
                            // literal, line 184
                            if (!(eq_s_b(1, "s")))
                            {
                                break lab3;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_4;
                    }
                    // <-, line 184
                    slice_from("ens");
                    break;
                case 25:
                    // (, line 185
                    // <-, line 185
                    slice_from("ons");
                    break;
                case 26:
                    // (, line 186
                    // <-, line 186
                    slice_from("lus");
                    break;
                case 27:
                    // (, line 187
                    // <-, line 187
                    slice_from("rus");
                    break;
                case 28:
                    // (, line 188
                    // not, line 188
                    {
                        v_5 = limit - cursor;
                        lab4: do {
                            // literal, line 188
                            if (!(eq_s_b(1, "p")))
                            {
                                break lab4;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_5;
                    }
                    // not, line 188
                    {
                        v_6 = limit - cursor;
                        lab5: do {
                            // literal, line 188
                            if (!(eq_s_b(1, "t")))
                            {
                                break lab5;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_6;
                    }
                    // <-, line 188
                    slice_from("hes");
                    break;
                case 29:
                    // (, line 189
                    // <-, line 189
                    slice_from("mis");
                    break;
                case 30:
                    // (, line 190
                    // not, line 190
                    {
                        v_7 = limit - cursor;
                        lab6: do {
                            // literal, line 190
                            if (!(eq_s_b(1, "m")))
                            {
                                break lab6;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_7;
                    }
                    // <-, line 190
                    slice_from("ens");
                    break;
                case 31:
                    // (, line 192
                    // <-, line 192
                    slice_from("ers");
                    break;
                case 32:
                    // (, line 193
                    // not, line 193
                    {
                        v_8 = limit - cursor;
                        lab7: do {
                            // literal, line 193
                            if (!(eq_s_b(1, "n")))
                            {
                                break lab7;
                            }
                            return false;
                        } while (false);
                        cursor = limit - v_8;
                    }
                    // <-, line 193
                    slice_from("es");
                    break;
                case 33:
                    // (, line 194
                    // <-, line 194
                    slice_from("ys");
                    break;
                case 34:
                    // (, line 195
                    // <-, line 195
                    slice_from("ys");
                    break;
            }
            return true;
        
private booleanr_undouble()

            int v_1;
            // (, line 151
            // test, line 152
            v_1 = limit - cursor;
            // substring, line 152
            if (find_among_b(a_2, 10) == 0)
            {
                return false;
            }
            cursor = limit - v_1;
            // [, line 154
            ket = cursor;
            // next, line 154
            if (cursor <= limit_backward)
            {
                return false;
            }
            cursor--;
            // ], line 154
            bra = cursor;
            // delete, line 154
            slice_del();
            return true;
        
public booleanstem()

            int v_1;
            int v_2;
            int v_3;
            // (, line 200
            // backwards, line 202
            limit_backward = cursor; cursor = limit;
            // (, line 202
            // do, line 203
            v_1 = limit - cursor;
            lab0: do {
                // call endings, line 203
                if (!r_endings())
                {
                    break lab0;
                }
            } while (false);
            cursor = limit - v_1;
            // do, line 204
            v_2 = limit - cursor;
            lab1: do {
                // call undouble, line 204
                if (!r_undouble())
                {
                    break lab1;
                }
            } while (false);
            cursor = limit - v_2;
            // do, line 205
            v_3 = limit - cursor;
            lab2: do {
                // call respell, line 205
                if (!r_respell())
                {
                    break lab2;
                }
            } while (false);
            cursor = limit - v_3;
            cursor = limit_backward;            return true;