You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/08/01 20:41:46 UTC

svn commit: r1368188 [12/19] - in /lucene/dev/trunk/lucene: ./ analysis/common/src/java/org/tartarus/snowball/ext/ analysis/common/src/test/org/apache/lucene/analysis/snowball/

Modified: lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java?rev=1368188&r1=1368187&r2=1368188&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/NorwegianStemmer.java Wed Aug  1 18:41:45 2012
@@ -1,358 +1,375 @@
 // 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;
+import org.tartarus.snowball.SnowballProgram;
+
+ /**
+  * This class was automatically generated by a Snowball to Java compiler 
+  * It implements the stemming algorithm defined by a snowball script.
+  */
 
-/**
- * Generated class implementing code defined by a snowball script.
- */
 public class NorwegianStemmer extends SnowballProgram {
 
-        private Among a_0[] = {
-            new Among ( "a", -1, 1, "", this),
-            new Among ( "e", -1, 1, "", this),
-            new Among ( "ede", 1, 1, "", this),
-            new Among ( "ande", 1, 1, "", this),
-            new Among ( "ende", 1, 1, "", this),
-            new Among ( "ane", 1, 1, "", this),
-            new Among ( "ene", 1, 1, "", this),
-            new Among ( "hetene", 6, 1, "", this),
-            new Among ( "erte", 1, 3, "", this),
-            new Among ( "en", -1, 1, "", this),
-            new Among ( "heten", 9, 1, "", this),
-            new Among ( "ar", -1, 1, "", this),
-            new Among ( "er", -1, 1, "", this),
-            new Among ( "heter", 12, 1, "", this),
-            new Among ( "s", -1, 2, "", this),
-            new Among ( "as", 14, 1, "", this),
-            new Among ( "es", 14, 1, "", this),
-            new Among ( "edes", 16, 1, "", this),
-            new Among ( "endes", 16, 1, "", this),
-            new Among ( "enes", 16, 1, "", this),
-            new Among ( "hetenes", 19, 1, "", this),
-            new Among ( "ens", 14, 1, "", this),
-            new Among ( "hetens", 21, 1, "", this),
-            new Among ( "ers", 14, 1, "", this),
-            new Among ( "ets", 14, 1, "", this),
-            new Among ( "et", -1, 1, "", this),
-            new Among ( "het", 25, 1, "", this),
-            new Among ( "ert", -1, 3, "", this),
-            new Among ( "ast", -1, 1, "", this)
-        };
-
-        private Among a_1[] = {
-            new Among ( "dt", -1, -1, "", this),
-            new Among ( "vt", -1, -1, "", this)
-        };
-
-        private Among a_2[] = {
-            new Among ( "leg", -1, 1, "", this),
-            new Among ( "eleg", 0, 1, "", this),
-            new Among ( "ig", -1, 1, "", this),
-            new Among ( "eig", 2, 1, "", this),
-            new Among ( "lig", 2, 1, "", this),
-            new Among ( "elig", 4, 1, "", this),
-            new Among ( "els", -1, 1, "", this),
-            new Among ( "lov", -1, 1, "", this),
-            new Among ( "elov", 7, 1, "", this),
-            new Among ( "slov", 7, 1, "", this),
-            new Among ( "hetslov", 9, 1, "", this)
-        };
+private static final long serialVersionUID = 1L;
+
+        private final static NorwegianStemmer methodObject = new NorwegianStemmer ();
+
+                private final static Among a_0[] = {
+                    new Among ( "a", -1, 1, "", methodObject ),
+                    new Among ( "e", -1, 1, "", methodObject ),
+                    new Among ( "ede", 1, 1, "", methodObject ),
+                    new Among ( "ande", 1, 1, "", methodObject ),
+                    new Among ( "ende", 1, 1, "", methodObject ),
+                    new Among ( "ane", 1, 1, "", methodObject ),
+                    new Among ( "ene", 1, 1, "", methodObject ),
+                    new Among ( "hetene", 6, 1, "", methodObject ),
+                    new Among ( "erte", 1, 3, "", methodObject ),
+                    new Among ( "en", -1, 1, "", methodObject ),
+                    new Among ( "heten", 9, 1, "", methodObject ),
+                    new Among ( "ar", -1, 1, "", methodObject ),
+                    new Among ( "er", -1, 1, "", methodObject ),
+                    new Among ( "heter", 12, 1, "", methodObject ),
+                    new Among ( "s", -1, 2, "", methodObject ),
+                    new Among ( "as", 14, 1, "", methodObject ),
+                    new Among ( "es", 14, 1, "", methodObject ),
+                    new Among ( "edes", 16, 1, "", methodObject ),
+                    new Among ( "endes", 16, 1, "", methodObject ),
+                    new Among ( "enes", 16, 1, "", methodObject ),
+                    new Among ( "hetenes", 19, 1, "", methodObject ),
+                    new Among ( "ens", 14, 1, "", methodObject ),
+                    new Among ( "hetens", 21, 1, "", methodObject ),
+                    new Among ( "ers", 14, 1, "", methodObject ),
+                    new Among ( "ets", 14, 1, "", methodObject ),
+                    new Among ( "et", -1, 1, "", methodObject ),
+                    new Among ( "het", 25, 1, "", methodObject ),
+                    new Among ( "ert", -1, 3, "", methodObject ),
+                    new Among ( "ast", -1, 1, "", methodObject )
+                };
+
+                private final static Among a_1[] = {
+                    new Among ( "dt", -1, -1, "", methodObject ),
+                    new Among ( "vt", -1, -1, "", methodObject )
+                };
+
+                private final static Among a_2[] = {
+                    new Among ( "leg", -1, 1, "", methodObject ),
+                    new Among ( "eleg", 0, 1, "", methodObject ),
+                    new Among ( "ig", -1, 1, "", methodObject ),
+                    new Among ( "eig", 2, 1, "", methodObject ),
+                    new Among ( "lig", 2, 1, "", methodObject ),
+                    new Among ( "elig", 4, 1, "", methodObject ),
+                    new Among ( "els", -1, 1, "", methodObject ),
+                    new Among ( "lov", -1, 1, "", methodObject ),
+                    new Among ( "elov", 7, 1, "", methodObject ),
+                    new Among ( "slov", 7, 1, "", methodObject ),
+                    new Among ( "hetslov", 9, 1, "", methodObject )
+                };
 
-        private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 };
+                private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 };
 
-        private static final char g_s_ending[] = {119, 125, 149, 1 };
+                private static final char g_s_ending[] = {119, 125, 149, 1 };
 
         private int I_x;
         private int I_p1;
 
-        private void copy_from(NorwegianStemmer other) {
-            I_x = other.I_x;
-            I_p1 = other.I_p1;
-            super.copy_from(other);
-        }
+                private void copy_from(NorwegianStemmer other) {
+                    I_x = other.I_x;
+                    I_p1 = other.I_p1;
+                    super.copy_from(other);
+                }
 
-        private boolean r_mark_regions() {
+                private boolean r_mark_regions() {
             int v_1;
             int v_2;
-            // (, line 26
-            I_p1 = limit;
-            // test, line 30
-            v_1 = cursor;
-            // (, line 30
-            // hop, line 30
-            {
-                int c = cursor + 3;
-                if (0 > c || c > limit)
-                {
-                    return false;
-                }
-                cursor = c;
-            }
-            // setmark x, line 30
-            I_x = cursor;
-            cursor = v_1;
-            // goto, line 31
-            golab0: while(true)
-            {
-                v_2 = cursor;
-                lab1: do {
-                    if (!(in_grouping(g_v, 97, 248)))
+                    // (, line 26
+                    I_p1 = limit;
+                    // test, line 30
+                    v_1 = cursor;
+                    // (, line 30
+                    // hop, line 30
                     {
-                        break lab1;
+                        int c = cursor + 3;
+                        if (0 > c || c > limit)
+                        {
+                            return false;
+                        }
+                        cursor = c;
                     }
-                    cursor = v_2;
-                    break golab0;
-                } while (false);
-                cursor = v_2;
-                if (cursor >= limit)
-                {
-                    return false;
-                }
-                cursor++;
-            }
-            // gopast, line 31
-            golab2: while(true)
-            {
-                lab3: do {
-                    if (!(out_grouping(g_v, 97, 248)))
+                    // setmark x, line 30
+                    I_x = cursor;
+                    cursor = v_1;
+                    // goto, line 31
+                    golab0: while(true)
                     {
-                        break lab3;
-                    }
-                    break golab2;
-                } while (false);
-                if (cursor >= limit)
-                {
-                    return false;
-                }
-                cursor++;
-            }
-            // setmark p1, line 31
-            I_p1 = cursor;
-            // try, line 32
-            lab4: do {
-                // (, line 32
-                if (!(I_p1 < I_x))
-                {
-                    break lab4;
-                }
-                I_p1 = I_x;
-            } while (false);
-            return true;
-        }
-
-        private boolean r_main_suffix() {
-            int among_var;
-            int v_1;
-            int v_2;
-            int v_3;
-            // (, line 37
-            // setlimit, line 38
-            v_1 = limit - cursor;
-            // tomark, line 38
-            if (cursor < I_p1)
-            {
-                return false;
-            }
-            cursor = I_p1;
-            v_2 = limit_backward;
-            limit_backward = cursor;
-            cursor = limit - v_1;
-            // (, line 38
-            // [, line 38
-            ket = cursor;
-            // substring, line 38
-            among_var = find_among_b(a_0, 29);
-            if (among_var == 0)
-            {
-                limit_backward = v_2;
-                return false;
-            }
-            // ], line 38
-            bra = cursor;
-            limit_backward = v_2;
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 44
-                    // delete, line 44
-                    slice_del();
-                    break;
-                case 2:
-                    // (, line 46
-                    // or, line 46
-                    lab0: do {
-                        v_3 = limit - cursor;
+                        v_2 = cursor;
                         lab1: do {
-                            if (!(in_grouping_b(g_s_ending, 98, 122)))
+                            if (!(in_grouping(g_v, 97, 248)))
                             {
                                 break lab1;
                             }
-                            break lab0;
+                            cursor = v_2;
+                            break golab0;
                         } while (false);
-                        cursor = limit - v_3;
-                        // (, line 46
-                        // literal, line 46
-                        if (!(eq_s_b(1, "k")))
+                        cursor = v_2;
+                        if (cursor >= limit)
                         {
                             return false;
                         }
-                        if (!(out_grouping_b(g_v, 97, 248)))
+                        cursor++;
+                    }
+                    // gopast, line 31
+                    golab2: while(true)
+                    {
+                        lab3: do {
+                            if (!(out_grouping(g_v, 97, 248)))
+                            {
+                                break lab3;
+                            }
+                            break golab2;
+                        } while (false);
+                        if (cursor >= limit)
                         {
                             return false;
                         }
+                        cursor++;
+                    }
+                    // setmark p1, line 31
+                    I_p1 = cursor;
+                    // try, line 32
+                    lab4: do {
+                        // (, line 32
+                        if (!(I_p1 < I_x))
+                        {
+                            break lab4;
+                        }
+                        I_p1 = I_x;
                     } while (false);
-                    // delete, line 46
-                    slice_del();
-                    break;
-                case 3:
-                    // (, line 48
-                    // <-, line 48
-                    slice_from("er");
-                    break;
-            }
-            return true;
-        }
+                    return true;
+                }
 
-        private boolean r_consonant_pair() {
+                private boolean r_main_suffix() {
+            int among_var;
             int v_1;
             int v_2;
             int v_3;
-            // (, line 52
-            // test, line 53
-            v_1 = limit - cursor;
-            // (, line 53
-            // setlimit, line 54
-            v_2 = limit - cursor;
-            // tomark, line 54
-            if (cursor < I_p1)
-            {
-                return false;
-            }
-            cursor = I_p1;
-            v_3 = limit_backward;
-            limit_backward = cursor;
-            cursor = limit - v_2;
-            // (, line 54
-            // [, line 54
-            ket = cursor;
-            // substring, line 54
-            if (find_among_b(a_1, 2) == 0)
-            {
-                limit_backward = v_3;
-                return false;
-            }
-            // ], line 54
-            bra = cursor;
-            limit_backward = v_3;
-            cursor = limit - v_1;
-            // next, line 59
-            if (cursor <= limit_backward)
-            {
-                return false;
-            }
-            cursor--;
-            // ], line 59
-            bra = cursor;
-            // delete, line 59
-            slice_del();
-            return true;
-        }
+                    // (, line 37
+                    // setlimit, line 38
+                    v_1 = limit - cursor;
+                    // tomark, line 38
+                    if (cursor < I_p1)
+                    {
+                        return false;
+                    }
+                    cursor = I_p1;
+                    v_2 = limit_backward;
+                    limit_backward = cursor;
+                    cursor = limit - v_1;
+                    // (, line 38
+                    // [, line 38
+                    ket = cursor;
+                    // substring, line 38
+                    among_var = find_among_b(a_0, 29);
+                    if (among_var == 0)
+                    {
+                        limit_backward = v_2;
+                        return false;
+                    }
+                    // ], line 38
+                    bra = cursor;
+                    limit_backward = v_2;
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 44
+                            // delete, line 44
+                            slice_del();
+                            break;
+                        case 2:
+                            // (, line 46
+                            // or, line 46
+                            lab0: do {
+                                v_3 = limit - cursor;
+                                lab1: do {
+                                    if (!(in_grouping_b(g_s_ending, 98, 122)))
+                                    {
+                                        break lab1;
+                                    }
+                                    break lab0;
+                                } while (false);
+                                cursor = limit - v_3;
+                                // (, line 46
+                                // literal, line 46
+                                if (!(eq_s_b(1, "k")))
+                                {
+                                    return false;
+                                }
+                                if (!(out_grouping_b(g_v, 97, 248)))
+                                {
+                                    return false;
+                                }
+                            } while (false);
+                            // delete, line 46
+                            slice_del();
+                            break;
+                        case 3:
+                            // (, line 48
+                            // <-, line 48
+                            slice_from("er");
+                            break;
+                    }
+                    return true;
+                }
 
-        private boolean r_other_suffix() {
-            int among_var;
+                private boolean r_consonant_pair() {
             int v_1;
             int v_2;
-            // (, line 62
-            // setlimit, line 63
-            v_1 = limit - cursor;
-            // tomark, line 63
-            if (cursor < I_p1)
-            {
-                return false;
-            }
-            cursor = I_p1;
-            v_2 = limit_backward;
-            limit_backward = cursor;
-            cursor = limit - v_1;
-            // (, line 63
-            // [, line 63
-            ket = cursor;
-            // substring, line 63
-            among_var = find_among_b(a_2, 11);
-            if (among_var == 0)
-            {
-                limit_backward = v_2;
-                return false;
-            }
-            // ], line 63
-            bra = cursor;
-            limit_backward = v_2;
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 67
-                    // delete, line 67
+            int v_3;
+                    // (, line 52
+                    // test, line 53
+                    v_1 = limit - cursor;
+                    // (, line 53
+                    // setlimit, line 54
+                    v_2 = limit - cursor;
+                    // tomark, line 54
+                    if (cursor < I_p1)
+                    {
+                        return false;
+                    }
+                    cursor = I_p1;
+                    v_3 = limit_backward;
+                    limit_backward = cursor;
+                    cursor = limit - v_2;
+                    // (, line 54
+                    // [, line 54
+                    ket = cursor;
+                    // substring, line 54
+                    if (find_among_b(a_1, 2) == 0)
+                    {
+                        limit_backward = v_3;
+                        return false;
+                    }
+                    // ], line 54
+                    bra = cursor;
+                    limit_backward = v_3;
+                    cursor = limit - v_1;
+                    // next, line 59
+                    if (cursor <= limit_backward)
+                    {
+                        return false;
+                    }
+                    cursor--;
+                    // ], line 59
+                    bra = cursor;
+                    // delete, line 59
                     slice_del();
-                    break;
-            }
-            return true;
-        }
+                    return true;
+                }
+
+                private boolean r_other_suffix() {
+            int among_var;
+            int v_1;
+            int v_2;
+                    // (, line 62
+                    // setlimit, line 63
+                    v_1 = limit - cursor;
+                    // tomark, line 63
+                    if (cursor < I_p1)
+                    {
+                        return false;
+                    }
+                    cursor = I_p1;
+                    v_2 = limit_backward;
+                    limit_backward = cursor;
+                    cursor = limit - v_1;
+                    // (, line 63
+                    // [, line 63
+                    ket = cursor;
+                    // substring, line 63
+                    among_var = find_among_b(a_2, 11);
+                    if (among_var == 0)
+                    {
+                        limit_backward = v_2;
+                        return false;
+                    }
+                    // ], line 63
+                    bra = cursor;
+                    limit_backward = v_2;
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 67
+                            // delete, line 67
+                            slice_del();
+                            break;
+                    }
+                    return true;
+                }
 
-        public boolean stem() {
+                public boolean stem() {
             int v_1;
             int v_2;
             int v_3;
             int v_4;
-            // (, line 72
-            // do, line 74
-            v_1 = cursor;
-            lab0: do {
-                // call mark_regions, line 74
-                if (!r_mark_regions())
-                {
-                    break lab0;
-                }
-            } while (false);
-            cursor = v_1;
-            // backwards, line 75
-            limit_backward = cursor; cursor = limit;
-            // (, line 75
-            // do, line 76
-            v_2 = limit - cursor;
-            lab1: do {
-                // call main_suffix, line 76
-                if (!r_main_suffix())
-                {
-                    break lab1;
-                }
-            } while (false);
-            cursor = limit - v_2;
-            // do, line 77
-            v_3 = limit - cursor;
-            lab2: do {
-                // call consonant_pair, line 77
-                if (!r_consonant_pair())
-                {
-                    break lab2;
-                }
-            } while (false);
-            cursor = limit - v_3;
-            // do, line 78
-            v_4 = limit - cursor;
-            lab3: do {
-                // call other_suffix, line 78
-                if (!r_other_suffix())
-                {
-                    break lab3;
+                    // (, line 72
+                    // do, line 74
+                    v_1 = cursor;
+                    lab0: do {
+                        // call mark_regions, line 74
+                        if (!r_mark_regions())
+                        {
+                            break lab0;
+                        }
+                    } while (false);
+                    cursor = v_1;
+                    // backwards, line 75
+                    limit_backward = cursor; cursor = limit;
+                    // (, line 75
+                    // do, line 76
+                    v_2 = limit - cursor;
+                    lab1: do {
+                        // call main_suffix, line 76
+                        if (!r_main_suffix())
+                        {
+                            break lab1;
+                        }
+                    } while (false);
+                    cursor = limit - v_2;
+                    // do, line 77
+                    v_3 = limit - cursor;
+                    lab2: do {
+                        // call consonant_pair, line 77
+                        if (!r_consonant_pair())
+                        {
+                            break lab2;
+                        }
+                    } while (false);
+                    cursor = limit - v_3;
+                    // do, line 78
+                    v_4 = limit - cursor;
+                    lab3: do {
+                        // call other_suffix, line 78
+                        if (!r_other_suffix())
+                        {
+                            break lab3;
+                        }
+                    } while (false);
+                    cursor = limit - v_4;
+                    cursor = limit_backward;                    return true;
                 }
-            } while (false);
-            cursor = limit - v_4;
-            cursor = limit_backward;            return true;
+
+        public boolean equals( Object o ) {
+            return o instanceof NorwegianStemmer;
+        }
+
+        public int hashCode() {
+            return NorwegianStemmer.class.getName().hashCode();
         }
 
+
+
 }
 

Modified: lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java?rev=1368188&r1=1368187&r2=1368188&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/java/org/tartarus/snowball/ext/PorterStemmer.java Wed Aug  1 18:41:45 2012
@@ -1,223 +1,338 @@
 // 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;
+import org.tartarus.snowball.SnowballProgram;
+
+ /**
+  * This class was automatically generated by a Snowball to Java compiler 
+  * It implements the stemming algorithm defined by a snowball script.
+  */
 
-/**
- * Generated class implementing code defined by a snowball script.
- */
 public class PorterStemmer extends SnowballProgram {
 
-        private Among a_0[] = {
-            new Among ( "s", -1, 3, "", this),
-            new Among ( "ies", 0, 2, "", this),
-            new Among ( "sses", 0, 1, "", this),
-            new Among ( "ss", 0, -1, "", this)
-        };
-
-        private Among a_1[] = {
-            new Among ( "", -1, 3, "", this),
-            new Among ( "bb", 0, 2, "", this),
-            new Among ( "dd", 0, 2, "", this),
-            new Among ( "ff", 0, 2, "", this),
-            new Among ( "gg", 0, 2, "", this),
-            new Among ( "bl", 0, 1, "", this),
-            new Among ( "mm", 0, 2, "", this),
-            new Among ( "nn", 0, 2, "", this),
-            new Among ( "pp", 0, 2, "", this),
-            new Among ( "rr", 0, 2, "", this),
-            new Among ( "at", 0, 1, "", this),
-            new Among ( "tt", 0, 2, "", this),
-            new Among ( "iz", 0, 1, "", this)
-        };
-
-        private Among a_2[] = {
-            new Among ( "ed", -1, 2, "", this),
-            new Among ( "eed", 0, 1, "", this),
-            new Among ( "ing", -1, 2, "", this)
-        };
-
-        private Among a_3[] = {
-            new Among ( "anci", -1, 3, "", this),
-            new Among ( "enci", -1, 2, "", this),
-            new Among ( "abli", -1, 4, "", this),
-            new Among ( "eli", -1, 6, "", this),
-            new Among ( "alli", -1, 9, "", this),
-            new Among ( "ousli", -1, 12, "", this),
-            new Among ( "entli", -1, 5, "", this),
-            new Among ( "aliti", -1, 10, "", this),
-            new Among ( "biliti", -1, 14, "", this),
-            new Among ( "iviti", -1, 13, "", this),
-            new Among ( "tional", -1, 1, "", this),
-            new Among ( "ational", 10, 8, "", this),
-            new Among ( "alism", -1, 10, "", this),
-            new Among ( "ation", -1, 8, "", this),
-            new Among ( "ization", 13, 7, "", this),
-            new Among ( "izer", -1, 7, "", this),
-            new Among ( "ator", -1, 8, "", this),
-            new Among ( "iveness", -1, 13, "", this),
-            new Among ( "fulness", -1, 11, "", this),
-            new Among ( "ousness", -1, 12, "", this)
-        };
-
-        private Among a_4[] = {
-            new Among ( "icate", -1, 2, "", this),
-            new Among ( "ative", -1, 3, "", this),
-            new Among ( "alize", -1, 1, "", this),
-            new Among ( "iciti", -1, 2, "", this),
-            new Among ( "ical", -1, 2, "", this),
-            new Among ( "ful", -1, 3, "", this),
-            new Among ( "ness", -1, 3, "", this)
-        };
-
-        private Among a_5[] = {
-            new Among ( "ic", -1, 1, "", this),
-            new Among ( "ance", -1, 1, "", this),
-            new Among ( "ence", -1, 1, "", this),
-            new Among ( "able", -1, 1, "", this),
-            new Among ( "ible", -1, 1, "", this),
-            new Among ( "ate", -1, 1, "", this),
-            new Among ( "ive", -1, 1, "", this),
-            new Among ( "ize", -1, 1, "", this),
-            new Among ( "iti", -1, 1, "", this),
-            new Among ( "al", -1, 1, "", this),
-            new Among ( "ism", -1, 1, "", this),
-            new Among ( "ion", -1, 2, "", this),
-            new Among ( "er", -1, 1, "", this),
-            new Among ( "ous", -1, 1, "", this),
-            new Among ( "ant", -1, 1, "", this),
-            new Among ( "ent", -1, 1, "", this),
-            new Among ( "ment", 15, 1, "", this),
-            new Among ( "ement", 16, 1, "", this),
-            new Among ( "ou", -1, 1, "", this)
-        };
+private static final long serialVersionUID = 1L;
+
+        private final static PorterStemmer methodObject = new PorterStemmer ();
 
-        private static final char g_v[] = {17, 65, 16, 1 };
+                private final static Among a_0[] = {
+                    new Among ( "s", -1, 3, "", methodObject ),
+                    new Among ( "ies", 0, 2, "", methodObject ),
+                    new Among ( "sses", 0, 1, "", methodObject ),
+                    new Among ( "ss", 0, -1, "", methodObject )
+                };
+
+                private final static Among a_1[] = {
+                    new Among ( "", -1, 3, "", methodObject ),
+                    new Among ( "bb", 0, 2, "", methodObject ),
+                    new Among ( "dd", 0, 2, "", methodObject ),
+                    new Among ( "ff", 0, 2, "", methodObject ),
+                    new Among ( "gg", 0, 2, "", methodObject ),
+                    new Among ( "bl", 0, 1, "", methodObject ),
+                    new Among ( "mm", 0, 2, "", methodObject ),
+                    new Among ( "nn", 0, 2, "", methodObject ),
+                    new Among ( "pp", 0, 2, "", methodObject ),
+                    new Among ( "rr", 0, 2, "", methodObject ),
+                    new Among ( "at", 0, 1, "", methodObject ),
+                    new Among ( "tt", 0, 2, "", methodObject ),
+                    new Among ( "iz", 0, 1, "", methodObject )
+                };
+
+                private final static Among a_2[] = {
+                    new Among ( "ed", -1, 2, "", methodObject ),
+                    new Among ( "eed", 0, 1, "", methodObject ),
+                    new Among ( "ing", -1, 2, "", methodObject )
+                };
+
+                private final static Among a_3[] = {
+                    new Among ( "anci", -1, 3, "", methodObject ),
+                    new Among ( "enci", -1, 2, "", methodObject ),
+                    new Among ( "abli", -1, 4, "", methodObject ),
+                    new Among ( "eli", -1, 6, "", methodObject ),
+                    new Among ( "alli", -1, 9, "", methodObject ),
+                    new Among ( "ousli", -1, 12, "", methodObject ),
+                    new Among ( "entli", -1, 5, "", methodObject ),
+                    new Among ( "aliti", -1, 10, "", methodObject ),
+                    new Among ( "biliti", -1, 14, "", methodObject ),
+                    new Among ( "iviti", -1, 13, "", methodObject ),
+                    new Among ( "tional", -1, 1, "", methodObject ),
+                    new Among ( "ational", 10, 8, "", methodObject ),
+                    new Among ( "alism", -1, 10, "", methodObject ),
+                    new Among ( "ation", -1, 8, "", methodObject ),
+                    new Among ( "ization", 13, 7, "", methodObject ),
+                    new Among ( "izer", -1, 7, "", methodObject ),
+                    new Among ( "ator", -1, 8, "", methodObject ),
+                    new Among ( "iveness", -1, 13, "", methodObject ),
+                    new Among ( "fulness", -1, 11, "", methodObject ),
+                    new Among ( "ousness", -1, 12, "", methodObject )
+                };
+
+                private final static Among a_4[] = {
+                    new Among ( "icate", -1, 2, "", methodObject ),
+                    new Among ( "ative", -1, 3, "", methodObject ),
+                    new Among ( "alize", -1, 1, "", methodObject ),
+                    new Among ( "iciti", -1, 2, "", methodObject ),
+                    new Among ( "ical", -1, 2, "", methodObject ),
+                    new Among ( "ful", -1, 3, "", methodObject ),
+                    new Among ( "ness", -1, 3, "", methodObject )
+                };
+
+                private final static Among a_5[] = {
+                    new Among ( "ic", -1, 1, "", methodObject ),
+                    new Among ( "ance", -1, 1, "", methodObject ),
+                    new Among ( "ence", -1, 1, "", methodObject ),
+                    new Among ( "able", -1, 1, "", methodObject ),
+                    new Among ( "ible", -1, 1, "", methodObject ),
+                    new Among ( "ate", -1, 1, "", methodObject ),
+                    new Among ( "ive", -1, 1, "", methodObject ),
+                    new Among ( "ize", -1, 1, "", methodObject ),
+                    new Among ( "iti", -1, 1, "", methodObject ),
+                    new Among ( "al", -1, 1, "", methodObject ),
+                    new Among ( "ism", -1, 1, "", methodObject ),
+                    new Among ( "ion", -1, 2, "", methodObject ),
+                    new Among ( "er", -1, 1, "", methodObject ),
+                    new Among ( "ous", -1, 1, "", methodObject ),
+                    new Among ( "ant", -1, 1, "", methodObject ),
+                    new Among ( "ent", -1, 1, "", methodObject ),
+                    new Among ( "ment", 15, 1, "", methodObject ),
+                    new Among ( "ement", 16, 1, "", methodObject ),
+                    new Among ( "ou", -1, 1, "", methodObject )
+                };
 
-        private static final char g_v_WXY[] = {1, 17, 65, 208, 1 };
+                private static final char g_v[] = {17, 65, 16, 1 };
+
+                private static final char g_v_WXY[] = {1, 17, 65, 208, 1 };
 
         private boolean B_Y_found;
         private int I_p2;
         private int I_p1;
 
-        private void copy_from(PorterStemmer other) {
-            B_Y_found = other.B_Y_found;
-            I_p2 = other.I_p2;
-            I_p1 = other.I_p1;
-            super.copy_from(other);
-        }
+                private void copy_from(PorterStemmer other) {
+                    B_Y_found = other.B_Y_found;
+                    I_p2 = other.I_p2;
+                    I_p1 = other.I_p1;
+                    super.copy_from(other);
+                }
 
-        private boolean r_shortv() {
-            // (, line 19
-            if (!(out_grouping_b(g_v_WXY, 89, 121)))
-            {
-                return false;
-            }
-            if (!(in_grouping_b(g_v, 97, 121)))
-            {
-                return false;
-            }
-            if (!(out_grouping_b(g_v, 97, 121)))
-            {
-                return false;
-            }
-            return true;
-        }
+                private boolean r_shortv() {
+                    // (, line 19
+                    if (!(out_grouping_b(g_v_WXY, 89, 121)))
+                    {
+                        return false;
+                    }
+                    if (!(in_grouping_b(g_v, 97, 121)))
+                    {
+                        return false;
+                    }
+                    if (!(out_grouping_b(g_v, 97, 121)))
+                    {
+                        return false;
+                    }
+                    return true;
+                }
 
-        private boolean r_R1() {
-            if (!(I_p1 <= cursor))
-            {
-                return false;
-            }
-            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_R2() {
+                    if (!(I_p2 <= cursor))
+                    {
+                        return false;
+                    }
+                    return true;
+                }
 
-        private boolean r_Step_1a() {
+                private boolean r_Step_1a() {
             int among_var;
-            // (, line 24
-            // [, line 25
-            ket = cursor;
-            // substring, line 25
-            among_var = find_among_b(a_0, 4);
-            if (among_var == 0)
-            {
-                return false;
-            }
-            // ], line 25
-            bra = cursor;
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 26
-                    // <-, line 26
-                    slice_from("ss");
-                    break;
-                case 2:
-                    // (, line 27
-                    // <-, line 27
-                    slice_from("i");
-                    break;
-                case 3:
-                    // (, line 29
-                    // delete, line 29
-                    slice_del();
-                    break;
-            }
-            return true;
-        }
+                    // (, line 24
+                    // [, line 25
+                    ket = cursor;
+                    // substring, line 25
+                    among_var = find_among_b(a_0, 4);
+                    if (among_var == 0)
+                    {
+                        return false;
+                    }
+                    // ], line 25
+                    bra = cursor;
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 26
+                            // <-, line 26
+                            slice_from("ss");
+                            break;
+                        case 2:
+                            // (, line 27
+                            // <-, line 27
+                            slice_from("i");
+                            break;
+                        case 3:
+                            // (, line 29
+                            // delete, line 29
+                            slice_del();
+                            break;
+                    }
+                    return true;
+                }
 
-        private boolean r_Step_1b() {
+                private boolean r_Step_1b() {
             int among_var;
             int v_1;
             int v_3;
             int v_4;
-            // (, line 33
-            // [, line 34
-            ket = cursor;
-            // substring, line 34
-            among_var = find_among_b(a_2, 3);
-            if (among_var == 0)
-            {
-                return false;
-            }
-            // ], line 34
-            bra = cursor;
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 35
-                    // call R1, line 35
-                    if (!r_R1())
+                    // (, line 33
+                    // [, line 34
+                    ket = cursor;
+                    // substring, line 34
+                    among_var = find_among_b(a_2, 3);
+                    if (among_var == 0)
                     {
                         return false;
                     }
-                    // <-, line 35
-                    slice_from("ee");
-                    break;
-                case 2:
-                    // (, line 37
-                    // test, line 38
-                    v_1 = limit - cursor;
-                    // gopast, line 38
-                    golab0: while(true)
-                    {
+                    // ], line 34
+                    bra = cursor;
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 35
+                            // call R1, line 35
+                            if (!r_R1())
+                            {
+                                return false;
+                            }
+                            // <-, line 35
+                            slice_from("ee");
+                            break;
+                        case 2:
+                            // (, line 37
+                            // test, line 38
+                            v_1 = limit - cursor;
+                            // gopast, line 38
+                            golab0: while(true)
+                            {
+                                lab1: do {
+                                    if (!(in_grouping_b(g_v, 97, 121)))
+                                    {
+                                        break lab1;
+                                    }
+                                    break golab0;
+                                } while (false);
+                                if (cursor <= limit_backward)
+                                {
+                                    return false;
+                                }
+                                cursor--;
+                            }
+                            cursor = limit - v_1;
+                            // delete, line 38
+                            slice_del();
+                            // test, line 39
+                            v_3 = limit - cursor;
+                            // substring, line 39
+                            among_var = find_among_b(a_1, 13);
+                            if (among_var == 0)
+                            {
+                                return false;
+                            }
+                            cursor = limit - v_3;
+                            switch(among_var) {
+                                case 0:
+                                    return false;
+                                case 1:
+                                    // (, line 41
+                                    // <+, line 41
+                                    {
+                                        int c = cursor;
+                                        insert(cursor, cursor, "e");
+                                        cursor = c;
+                                    }
+                                    break;
+                                case 2:
+                                    // (, line 44
+                                    // [, line 44
+                                    ket = cursor;
+                                    // next, line 44
+                                    if (cursor <= limit_backward)
+                                    {
+                                        return false;
+                                    }
+                                    cursor--;
+                                    // ], line 44
+                                    bra = cursor;
+                                    // delete, line 44
+                                    slice_del();
+                                    break;
+                                case 3:
+                                    // (, line 45
+                                    // atmark, line 45
+                                    if (cursor != I_p1)
+                                    {
+                                        return false;
+                                    }
+                                    // test, line 45
+                                    v_4 = limit - cursor;
+                                    // call shortv, line 45
+                                    if (!r_shortv())
+                                    {
+                                        return false;
+                                    }
+                                    cursor = limit - v_4;
+                                    // <+, line 45
+                                    {
+                                        int c = cursor;
+                                        insert(cursor, cursor, "e");
+                                        cursor = c;
+                                    }
+                                    break;
+                            }
+                            break;
+                    }
+                    return true;
+                }
+
+                private boolean r_Step_1c() {
+            int v_1;
+                    // (, line 51
+                    // [, line 52
+                    ket = cursor;
+                    // or, line 52
+                    lab0: do {
+                        v_1 = limit - cursor;
                         lab1: do {
-                            if (!(in_grouping_b(g_v, 97, 121)))
+                            // literal, line 52
+                            if (!(eq_s_b(1, "y")))
                             {
                                 break lab1;
                             }
-                            break golab0;
+                            break lab0;
+                        } while (false);
+                        cursor = limit - v_1;
+                        // literal, line 52
+                        if (!(eq_s_b(1, "Y")))
+                        {
+                            return false;
+                        }
+                    } while (false);
+                    // ], line 52
+                    bra = cursor;
+                    // gopast, line 53
+                    golab2: while(true)
+                    {
+                        lab3: do {
+                            if (!(in_grouping_b(g_v, 97, 121)))
+                            {
+                                break lab3;
+                            }
+                            break golab2;
                         } while (false);
                         if (cursor <= limit_backward)
                         {
@@ -225,385 +340,277 @@ public class PorterStemmer extends Snowb
                         }
                         cursor--;
                     }
-                    cursor = limit - v_1;
-                    // delete, line 38
-                    slice_del();
-                    // test, line 39
-                    v_3 = limit - cursor;
-                    // substring, line 39
-                    among_var = find_among_b(a_1, 13);
+                    // <-, line 54
+                    slice_from("i");
+                    return true;
+                }
+
+                private boolean r_Step_2() {
+            int among_var;
+                    // (, line 57
+                    // [, line 58
+                    ket = cursor;
+                    // substring, line 58
+                    among_var = find_among_b(a_3, 20);
                     if (among_var == 0)
                     {
                         return false;
                     }
-                    cursor = limit - v_3;
+                    // ], line 58
+                    bra = cursor;
+                    // call R1, line 58
+                    if (!r_R1())
+                    {
+                        return false;
+                    }
                     switch(among_var) {
                         case 0:
                             return false;
                         case 1:
-                            // (, line 41
-                            // <+, line 41
-                            {
-                                int c = cursor;
-                                insert(cursor, cursor, "e");
-                                cursor = c;
-                            }
+                            // (, line 59
+                            // <-, line 59
+                            slice_from("tion");
                             break;
                         case 2:
-                            // (, line 44
-                            // [, line 44
-                            ket = cursor;
-                            // next, line 44
-                            if (cursor <= limit_backward)
-                            {
-                                return false;
-                            }
-                            cursor--;
-                            // ], line 44
-                            bra = cursor;
-                            // delete, line 44
-                            slice_del();
+                            // (, line 60
+                            // <-, line 60
+                            slice_from("ence");
                             break;
                         case 3:
-                            // (, line 45
-                            // atmark, line 45
-                            if (cursor != I_p1)
-                            {
-                                return false;
-                            }
-                            // test, line 45
-                            v_4 = limit - cursor;
-                            // call shortv, line 45
-                            if (!r_shortv())
-                            {
-                                return false;
-                            }
-                            cursor = limit - v_4;
-                            // <+, line 45
-                            {
-                                int c = cursor;
-                                insert(cursor, cursor, "e");
-                                cursor = c;
-                            }
+                            // (, line 61
+                            // <-, line 61
+                            slice_from("ance");
+                            break;
+                        case 4:
+                            // (, line 62
+                            // <-, line 62
+                            slice_from("able");
+                            break;
+                        case 5:
+                            // (, line 63
+                            // <-, line 63
+                            slice_from("ent");
+                            break;
+                        case 6:
+                            // (, line 64
+                            // <-, line 64
+                            slice_from("e");
+                            break;
+                        case 7:
+                            // (, line 66
+                            // <-, line 66
+                            slice_from("ize");
+                            break;
+                        case 8:
+                            // (, line 68
+                            // <-, line 68
+                            slice_from("ate");
+                            break;
+                        case 9:
+                            // (, line 69
+                            // <-, line 69
+                            slice_from("al");
+                            break;
+                        case 10:
+                            // (, line 71
+                            // <-, line 71
+                            slice_from("al");
+                            break;
+                        case 11:
+                            // (, line 72
+                            // <-, line 72
+                            slice_from("ful");
+                            break;
+                        case 12:
+                            // (, line 74
+                            // <-, line 74
+                            slice_from("ous");
+                            break;
+                        case 13:
+                            // (, line 76
+                            // <-, line 76
+                            slice_from("ive");
+                            break;
+                        case 14:
+                            // (, line 77
+                            // <-, line 77
+                            slice_from("ble");
                             break;
                     }
-                    break;
-            }
-            return true;
-        }
+                    return true;
+                }
 
-        private boolean r_Step_1c() {
-            int v_1;
-            // (, line 51
-            // [, line 52
-            ket = cursor;
-            // or, line 52
-            lab0: do {
-                v_1 = limit - cursor;
-                lab1: do {
-                    // literal, line 52
-                    if (!(eq_s_b(1, "y")))
-                    {
-                        break lab1;
-                    }
-                    break lab0;
-                } while (false);
-                cursor = limit - v_1;
-                // literal, line 52
-                if (!(eq_s_b(1, "Y")))
-                {
-                    return false;
-                }
-            } while (false);
-            // ], line 52
-            bra = cursor;
-            // gopast, line 53
-            golab2: while(true)
-            {
-                lab3: do {
-                    if (!(in_grouping_b(g_v, 97, 121)))
+                private boolean r_Step_3() {
+            int among_var;
+                    // (, line 81
+                    // [, line 82
+                    ket = cursor;
+                    // substring, line 82
+                    among_var = find_among_b(a_4, 7);
+                    if (among_var == 0)
                     {
-                        break lab3;
+                        return false;
                     }
-                    break golab2;
-                } while (false);
-                if (cursor <= limit_backward)
-                {
-                    return false;
-                }
-                cursor--;
-            }
-            // <-, line 54
-            slice_from("i");
-            return true;
-        }
-
-        private boolean r_Step_2() {
-            int among_var;
-            // (, line 57
-            // [, line 58
-            ket = cursor;
-            // substring, line 58
-            among_var = find_among_b(a_3, 20);
-            if (among_var == 0)
-            {
-                return false;
-            }
-            // ], line 58
-            bra = cursor;
-            // call R1, line 58
-            if (!r_R1())
-            {
-                return false;
-            }
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 59
-                    // <-, line 59
-                    slice_from("tion");
-                    break;
-                case 2:
-                    // (, line 60
-                    // <-, line 60
-                    slice_from("ence");
-                    break;
-                case 3:
-                    // (, line 61
-                    // <-, line 61
-                    slice_from("ance");
-                    break;
-                case 4:
-                    // (, line 62
-                    // <-, line 62
-                    slice_from("able");
-                    break;
-                case 5:
-                    // (, line 63
-                    // <-, line 63
-                    slice_from("ent");
-                    break;
-                case 6:
-                    // (, line 64
-                    // <-, line 64
-                    slice_from("e");
-                    break;
-                case 7:
-                    // (, line 66
-                    // <-, line 66
-                    slice_from("ize");
-                    break;
-                case 8:
-                    // (, line 68
-                    // <-, line 68
-                    slice_from("ate");
-                    break;
-                case 9:
-                    // (, line 69
-                    // <-, line 69
-                    slice_from("al");
-                    break;
-                case 10:
-                    // (, line 71
-                    // <-, line 71
-                    slice_from("al");
-                    break;
-                case 11:
-                    // (, line 72
-                    // <-, line 72
-                    slice_from("ful");
-                    break;
-                case 12:
-                    // (, line 74
-                    // <-, line 74
-                    slice_from("ous");
-                    break;
-                case 13:
-                    // (, line 76
-                    // <-, line 76
-                    slice_from("ive");
-                    break;
-                case 14:
-                    // (, line 77
-                    // <-, line 77
-                    slice_from("ble");
-                    break;
-            }
-            return true;
-        }
+                    // ], line 82
+                    bra = cursor;
+                    // call R1, line 82
+                    if (!r_R1())
+                    {
+                        return false;
+                    }
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 83
+                            // <-, line 83
+                            slice_from("al");
+                            break;
+                        case 2:
+                            // (, line 85
+                            // <-, line 85
+                            slice_from("ic");
+                            break;
+                        case 3:
+                            // (, line 87
+                            // delete, line 87
+                            slice_del();
+                            break;
+                    }
+                    return true;
+                }
 
-        private boolean r_Step_3() {
+                private boolean r_Step_4() {
             int among_var;
-            // (, line 81
-            // [, line 82
-            ket = cursor;
-            // substring, line 82
-            among_var = find_among_b(a_4, 7);
-            if (among_var == 0)
-            {
-                return false;
-            }
-            // ], line 82
-            bra = cursor;
-            // call R1, line 82
-            if (!r_R1())
-            {
-                return false;
-            }
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 83
-                    // <-, line 83
-                    slice_from("al");
-                    break;
-                case 2:
-                    // (, line 85
-                    // <-, line 85
-                    slice_from("ic");
-                    break;
-                case 3:
-                    // (, line 87
-                    // delete, line 87
-                    slice_del();
-                    break;
-            }
-            return true;
-        }
+            int v_1;
+                    // (, line 91
+                    // [, line 92
+                    ket = cursor;
+                    // substring, line 92
+                    among_var = find_among_b(a_5, 19);
+                    if (among_var == 0)
+                    {
+                        return false;
+                    }
+                    // ], line 92
+                    bra = cursor;
+                    // call R2, line 92
+                    if (!r_R2())
+                    {
+                        return false;
+                    }
+                    switch(among_var) {
+                        case 0:
+                            return false;
+                        case 1:
+                            // (, line 95
+                            // delete, line 95
+                            slice_del();
+                            break;
+                        case 2:
+                            // (, line 96
+                            // or, line 96
+                            lab0: do {
+                                v_1 = limit - cursor;
+                                lab1: do {
+                                    // literal, line 96
+                                    if (!(eq_s_b(1, "s")))
+                                    {
+                                        break lab1;
+                                    }
+                                    break lab0;
+                                } while (false);
+                                cursor = limit - v_1;
+                                // literal, line 96
+                                if (!(eq_s_b(1, "t")))
+                                {
+                                    return false;
+                                }
+                            } while (false);
+                            // delete, line 96
+                            slice_del();
+                            break;
+                    }
+                    return true;
+                }
 
-        private boolean r_Step_4() {
-            int among_var;
+                private boolean r_Step_5a() {
             int v_1;
-            // (, line 91
-            // [, line 92
-            ket = cursor;
-            // substring, line 92
-            among_var = find_among_b(a_5, 19);
-            if (among_var == 0)
-            {
-                return false;
-            }
-            // ], line 92
-            bra = cursor;
-            // call R2, line 92
-            if (!r_R2())
-            {
-                return false;
-            }
-            switch(among_var) {
-                case 0:
-                    return false;
-                case 1:
-                    // (, line 95
-                    // delete, line 95
-                    slice_del();
-                    break;
-                case 2:
-                    // (, line 96
-                    // or, line 96
+            int v_2;
+                    // (, line 100
+                    // [, line 101
+                    ket = cursor;
+                    // literal, line 101
+                    if (!(eq_s_b(1, "e")))
+                    {
+                        return false;
+                    }
+                    // ], line 101
+                    bra = cursor;
+                    // or, line 102
                     lab0: do {
                         v_1 = limit - cursor;
                         lab1: do {
-                            // literal, line 96
-                            if (!(eq_s_b(1, "s")))
+                            // call R2, line 102
+                            if (!r_R2())
                             {
                                 break lab1;
                             }
                             break lab0;
                         } while (false);
                         cursor = limit - v_1;
-                        // literal, line 96
-                        if (!(eq_s_b(1, "t")))
+                        // (, line 102
+                        // call R1, line 102
+                        if (!r_R1())
                         {
                             return false;
                         }
+                        // not, line 102
+                        {
+                            v_2 = limit - cursor;
+                            lab2: do {
+                                // call shortv, line 102
+                                if (!r_shortv())
+                                {
+                                    break lab2;
+                                }
+                                return false;
+                            } while (false);
+                            cursor = limit - v_2;
+                        }
                     } while (false);
-                    // delete, line 96
+                    // delete, line 103
                     slice_del();
-                    break;
-            }
-            return true;
-        }
+                    return true;
+                }
 
-        private boolean r_Step_5a() {
-            int v_1;
-            int v_2;
-            // (, line 100
-            // [, line 101
-            ket = cursor;
-            // literal, line 101
-            if (!(eq_s_b(1, "e")))
-            {
-                return false;
-            }
-            // ], line 101
-            bra = cursor;
-            // or, line 102
-            lab0: do {
-                v_1 = limit - cursor;
-                lab1: do {
-                    // call R2, line 102
+                private boolean r_Step_5b() {
+                    // (, line 106
+                    // [, line 107
+                    ket = cursor;
+                    // literal, line 107
+                    if (!(eq_s_b(1, "l")))
+                    {
+                        return false;
+                    }
+                    // ], line 107
+                    bra = cursor;
+                    // call R2, line 108
                     if (!r_R2())
                     {
-                        break lab1;
+                        return false;
                     }
-                    break lab0;
-                } while (false);
-                cursor = limit - v_1;
-                // (, line 102
-                // call R1, line 102
-                if (!r_R1())
-                {
-                    return false;
-                }
-                // not, line 102
-                {
-                    v_2 = limit - cursor;
-                    lab2: do {
-                        // call shortv, line 102
-                        if (!r_shortv())
-                        {
-                            break lab2;
-                        }
+                    // literal, line 108
+                    if (!(eq_s_b(1, "l")))
+                    {
                         return false;
-                    } while (false);
-                    cursor = limit - v_2;
-                }
-            } while (false);
-            // delete, line 103
-            slice_del();
-            return true;
-        }
-
-        private boolean r_Step_5b() {
-            // (, line 106
-            // [, line 107
-            ket = cursor;
-            // literal, line 107
-            if (!(eq_s_b(1, "l")))
-            {
-                return false;
-            }
-            // ], line 107
-            bra = cursor;
-            // call R2, line 108
-            if (!r_R2())
-            {
-                return false;
-            }
-            // literal, line 108
-            if (!(eq_s_b(1, "l")))
-            {
-                return false;
-            }
-            // delete, line 109
-            slice_del();
-            return true;
-        }
+                    }
+                    // delete, line 109
+                    slice_del();
+                    return true;
+                }
 
-        public boolean stem() {
+                public boolean stem() {
             int v_1;
             int v_2;
             int v_3;
@@ -620,287 +627,297 @@ public class PorterStemmer extends Snowb
             int v_18;
             int v_19;
             int v_20;
-            // (, line 113
-            // unset Y_found, line 115
-            B_Y_found = false;
-            // do, line 116
-            v_1 = cursor;
-            lab0: do {
-                // (, line 116
-                // [, line 116
-                bra = cursor;
-                // literal, line 116
-                if (!(eq_s(1, "y")))
-                {
-                    break lab0;
-                }
-                // ], line 116
-                ket = cursor;
-                // <-, line 116
-                slice_from("Y");
-                // set Y_found, line 116
-                B_Y_found = true;
-            } while (false);
-            cursor = v_1;
-            // do, line 117
-            v_2 = cursor;
-            lab1: do {
-                // repeat, line 117
-                replab2: while(true)
-                {
-                    v_3 = cursor;
-                    lab3: do {
-                        // (, line 117
-                        // goto, line 117
-                        golab4: while(true)
+                    // (, line 113
+                    // unset Y_found, line 115
+                    B_Y_found = false;
+                    // do, line 116
+                    v_1 = cursor;
+                    lab0: do {
+                        // (, line 116
+                        // [, line 116
+                        bra = cursor;
+                        // literal, line 116
+                        if (!(eq_s(1, "y")))
+                        {
+                            break lab0;
+                        }
+                        // ], line 116
+                        ket = cursor;
+                        // <-, line 116
+                        slice_from("Y");
+                        // set Y_found, line 116
+                        B_Y_found = true;
+                    } while (false);
+                    cursor = v_1;
+                    // do, line 117
+                    v_2 = cursor;
+                    lab1: do {
+                        // repeat, line 117
+                        replab2: while(true)
                         {
-                            v_4 = cursor;
-                            lab5: do {
+                            v_3 = cursor;
+                            lab3: do {
                                 // (, line 117
+                                // goto, line 117
+                                golab4: while(true)
+                                {
+                                    v_4 = cursor;
+                                    lab5: do {
+                                        // (, line 117
+                                        if (!(in_grouping(g_v, 97, 121)))
+                                        {
+                                            break lab5;
+                                        }
+                                        // [, line 117
+                                        bra = cursor;
+                                        // literal, line 117
+                                        if (!(eq_s(1, "y")))
+                                        {
+                                            break lab5;
+                                        }
+                                        // ], line 117
+                                        ket = cursor;
+                                        cursor = v_4;
+                                        break golab4;
+                                    } while (false);
+                                    cursor = v_4;
+                                    if (cursor >= limit)
+                                    {
+                                        break lab3;
+                                    }
+                                    cursor++;
+                                }
+                                // <-, line 117
+                                slice_from("Y");
+                                // set Y_found, line 117
+                                B_Y_found = true;
+                                continue replab2;
+                            } while (false);
+                            cursor = v_3;
+                            break replab2;
+                        }
+                    } while (false);
+                    cursor = v_2;
+                    I_p1 = limit;
+                    I_p2 = limit;
+                    // do, line 121
+                    v_5 = cursor;
+                    lab6: do {
+                        // (, line 121
+                        // gopast, line 122
+                        golab7: while(true)
+                        {
+                            lab8: do {
                                 if (!(in_grouping(g_v, 97, 121)))
                                 {
-                                    break lab5;
+                                    break lab8;
                                 }
-                                // [, line 117
-                                bra = cursor;
-                                // literal, line 117
-                                if (!(eq_s(1, "y")))
+                                break golab7;
+                            } while (false);
+                            if (cursor >= limit)
+                            {
+                                break lab6;
+                            }
+                            cursor++;
+                        }
+                        // gopast, line 122
+                        golab9: while(true)
+                        {
+                            lab10: do {
+                                if (!(out_grouping(g_v, 97, 121)))
                                 {
-                                    break lab5;
+                                    break lab10;
                                 }
-                                // ], line 117
-                                ket = cursor;
-                                cursor = v_4;
-                                break golab4;
+                                break golab9;
                             } while (false);
-                            cursor = v_4;
                             if (cursor >= limit)
                             {
-                                break lab3;
+                                break lab6;
                             }
                             cursor++;
                         }
-                        // <-, line 117
-                        slice_from("Y");
-                        // set Y_found, line 117
-                        B_Y_found = true;
-                        continue replab2;
-                    } while (false);
-                    cursor = v_3;
-                    break replab2;
-                }
-            } while (false);
-            cursor = v_2;
-            I_p1 = limit;
-            I_p2 = limit;
-            // do, line 121
-            v_5 = cursor;
-            lab6: do {
-                // (, line 121
-                // gopast, line 122
-                golab7: while(true)
-                {
-                    lab8: do {
-                        if (!(in_grouping(g_v, 97, 121)))
-                        {
-                            break lab8;
-                        }
-                        break golab7;
-                    } while (false);
-                    if (cursor >= limit)
-                    {
-                        break lab6;
-                    }
-                    cursor++;
-                }
-                // gopast, line 122
-                golab9: while(true)
-                {
-                    lab10: do {
-                        if (!(out_grouping(g_v, 97, 121)))
-                        {
-                            break lab10;
-                        }
-                        break golab9;
-                    } while (false);
-                    if (cursor >= limit)
-                    {
-                        break lab6;
-                    }
-                    cursor++;
-                }
-                // setmark p1, line 122
-                I_p1 = cursor;
-                // gopast, line 123
-                golab11: while(true)
-                {
-                    lab12: do {
-                        if (!(in_grouping(g_v, 97, 121)))
-                        {
-                            break lab12;
-                        }
-                        break golab11;
-                    } while (false);
-                    if (cursor >= limit)
-                    {
-                        break lab6;
-                    }
-                    cursor++;
-                }
-                // gopast, line 123
-                golab13: while(true)
-                {
-                    lab14: do {
-                        if (!(out_grouping(g_v, 97, 121)))
-                        {
-                            break lab14;
-                        }
-                        break golab13;
-                    } while (false);
-                    if (cursor >= limit)
-                    {
-                        break lab6;
-                    }
-                    cursor++;
-                }
-                // setmark p2, line 123
-                I_p2 = cursor;
-            } while (false);
-            cursor = v_5;
-            // backwards, line 126
-            limit_backward = cursor; cursor = limit;
-            // (, line 126
-            // do, line 127
-            v_10 = limit - cursor;
-            lab15: do {
-                // call Step_1a, line 127
-                if (!r_Step_1a())
-                {
-                    break lab15;
-                }
-            } while (false);
-            cursor = limit - v_10;
-            // do, line 128
-            v_11 = limit - cursor;
-            lab16: do {
-                // call Step_1b, line 128
-                if (!r_Step_1b())
-                {
-                    break lab16;
-                }
-            } while (false);
-            cursor = limit - v_11;
-            // do, line 129
-            v_12 = limit - cursor;
-            lab17: do {
-                // call Step_1c, line 129
-                if (!r_Step_1c())
-                {
-                    break lab17;
-                }
-            } while (false);
-            cursor = limit - v_12;
-            // do, line 130
-            v_13 = limit - cursor;
-            lab18: do {
-                // call Step_2, line 130
-                if (!r_Step_2())
-                {
-                    break lab18;
-                }
-            } while (false);
-            cursor = limit - v_13;
-            // do, line 131
-            v_14 = limit - cursor;
-            lab19: do {
-                // call Step_3, line 131
-                if (!r_Step_3())
-                {
-                    break lab19;
-                }
-            } while (false);
-            cursor = limit - v_14;
-            // do, line 132
-            v_15 = limit - cursor;
-            lab20: do {
-                // call Step_4, line 132
-                if (!r_Step_4())
-                {
-                    break lab20;
-                }
-            } while (false);
-            cursor = limit - v_15;
-            // do, line 133
-            v_16 = limit - cursor;
-            lab21: do {
-                // call Step_5a, line 133
-                if (!r_Step_5a())
-                {
-                    break lab21;
-                }
-            } while (false);
-            cursor = limit - v_16;
-            // do, line 134
-            v_17 = limit - cursor;
-            lab22: do {
-                // call Step_5b, line 134
-                if (!r_Step_5b())
-                {
-                    break lab22;
-                }
-            } while (false);
-            cursor = limit - v_17;
-            cursor = limit_backward;            // do, line 137
-            v_18 = cursor;
-            lab23: do {
-                // (, line 137
-                // Boolean test Y_found, line 137
-                if (!(B_Y_found))
-                {
-                    break lab23;
-                }
-                // repeat, line 137
-                replab24: while(true)
-                {
-                    v_19 = cursor;
-                    lab25: do {
-                        // (, line 137
-                        // goto, line 137
-                        golab26: while(true)
+                        // setmark p1, line 122
+                        I_p1 = cursor;
+                        // gopast, line 123
+                        golab11: while(true)
                         {
-                            v_20 = cursor;
-                            lab27: do {
-                                // (, line 137
-                                // [, line 137
-                                bra = cursor;
-                                // literal, line 137
-                                if (!(eq_s(1, "Y")))
+                            lab12: do {
+                                if (!(in_grouping(g_v, 97, 121)))
                                 {
-                                    break lab27;
+                                    break lab12;
                                 }
-                                // ], line 137
-                                ket = cursor;
-                                cursor = v_20;
-                                break golab26;
+                                break golab11;
                             } while (false);
-                            cursor = v_20;
                             if (cursor >= limit)
                             {
-                                break lab25;
+                                break lab6;
                             }
                             cursor++;
                         }
-                        // <-, line 137
-                        slice_from("y");
-                        continue replab24;
-                    } while (false);
-                    cursor = v_19;
-                    break replab24;
-                }
-            } while (false);
-            cursor = v_18;
-            return true;
+                        // gopast, line 123
+                        golab13: while(true)
+                        {
+                            lab14: do {
+                                if (!(out_grouping(g_v, 97, 121)))
+                                {
+                                    break lab14;
+                                }
+                                break golab13;
+                            } while (false);
+                            if (cursor >= limit)
+                            {
+                                break lab6;
+                            }
+                            cursor++;
+                        }
+                        // setmark p2, line 123
+                        I_p2 = cursor;
+                    } while (false);
+                    cursor = v_5;
+                    // backwards, line 126
+                    limit_backward = cursor; cursor = limit;
+                    // (, line 126
+                    // do, line 127
+                    v_10 = limit - cursor;
+                    lab15: do {
+                        // call Step_1a, line 127
+                        if (!r_Step_1a())
+                        {
+                            break lab15;
+                        }
+                    } while (false);
+                    cursor = limit - v_10;
+                    // do, line 128
+                    v_11 = limit - cursor;
+                    lab16: do {
+                        // call Step_1b, line 128
+                        if (!r_Step_1b())
+                        {
+                            break lab16;
+                        }
+                    } while (false);
+                    cursor = limit - v_11;
+                    // do, line 129
+                    v_12 = limit - cursor;
+                    lab17: do {
+                        // call Step_1c, line 129
+                        if (!r_Step_1c())
+                        {
+                            break lab17;
+                        }
+                    } while (false);
+                    cursor = limit - v_12;
+                    // do, line 130
+                    v_13 = limit - cursor;
+                    lab18: do {
+                        // call Step_2, line 130
+                        if (!r_Step_2())
+                        {
+                            break lab18;
+                        }
+                    } while (false);
+                    cursor = limit - v_13;
+                    // do, line 131
+                    v_14 = limit - cursor;
+                    lab19: do {
+                        // call Step_3, line 131
+                        if (!r_Step_3())
+                        {
+                            break lab19;
+                        }
+                    } while (false);
+                    cursor = limit - v_14;
+                    // do, line 132
+                    v_15 = limit - cursor;
+                    lab20: do {
+                        // call Step_4, line 132
+                        if (!r_Step_4())
+                        {
+                            break lab20;
+                        }
+                    } while (false);
+                    cursor = limit - v_15;
+                    // do, line 133
+                    v_16 = limit - cursor;
+                    lab21: do {
+                        // call Step_5a, line 133
+                        if (!r_Step_5a())
+                        {
+                            break lab21;
+                        }
+                    } while (false);
+                    cursor = limit - v_16;
+                    // do, line 134
+                    v_17 = limit - cursor;
+                    lab22: do {
+                        // call Step_5b, line 134
+                        if (!r_Step_5b())
+                        {
+                            break lab22;
+                        }
+                    } while (false);
+                    cursor = limit - v_17;
+                    cursor = limit_backward;                    // do, line 137
+                    v_18 = cursor;
+                    lab23: do {
+                        // (, line 137
+                        // Boolean test Y_found, line 137
+                        if (!(B_Y_found))
+                        {
+                            break lab23;
+                        }
+                        // repeat, line 137
+                        replab24: while(true)
+                        {
+                            v_19 = cursor;
+                            lab25: do {
+                                // (, line 137
+                                // goto, line 137
+                                golab26: while(true)
+                                {
+                                    v_20 = cursor;
+                                    lab27: do {
+                                        // (, line 137
+                                        // [, line 137
+                                        bra = cursor;
+                                        // literal, line 137
+                                        if (!(eq_s(1, "Y")))
+                                        {
+                                            break lab27;
+                                        }
+                                        // ], line 137
+                                        ket = cursor;
+                                        cursor = v_20;
+                                        break golab26;
+                                    } while (false);
+                                    cursor = v_20;
+                                    if (cursor >= limit)
+                                    {
+                                        break lab25;
+                                    }
+                                    cursor++;
+                                }
+                                // <-, line 137
+                                slice_from("y");
+                                continue replab24;
+                            } while (false);
+                            cursor = v_19;
+                            break replab24;
+                        }
+                    } while (false);
+                    cursor = v_18;
+                    return true;
+                }
+
+        public boolean equals( Object o ) {
+            return o instanceof PorterStemmer;
         }
 
+        public int hashCode() {
+            return PorterStemmer.class.getName().hashCode();
+        }
+
+
+
 }