From f90edba67e8c1d5df3713146de52a083b6ec3ab0 Mon Sep 17 00:00:00 2001 From: Kasun Gajasinghe Date: Sat, 17 Jul 2010 14:17:42 +0000 Subject: [PATCH] Added stemmers for other languages. -German Stemmer is fully implemented and is supported. -Stemming support for 16 languages added for indexing(written in Java). These can't be used until JavaScript version of them are implemented. For more details, refer: http://snowball.tartarus.org/ Fixed some bugs in the UI Reformatted the code. --- xsl/webhelp/build.properties | 7 +- xsl/webhelp/build.xml | 2 +- xsl/webhelp/indexer/lib/nw-cms.jar | Bin 20574 -> 27452 bytes .../com/nexwave/nquindexer/IndexerTask.java | 10 +- .../com/nexwave/nquindexer/SaxHTMLIndex.java | 25 +- .../src/com/nexwave/stemmer/Stemmer.java | 23 - .../com/nexwave/stemmer/snowball/Among.java | 31 + .../stemmer/snowball/SnowballProgram.java | 432 +++ .../stemmer/snowball/SnowballStemmer.java | 27 + .../com/nexwave/stemmer/snowball/TestApp.java | 72 + .../stemmer/snowball/ext/EnglishStemmer.java | 1330 +++++++ .../stemmer/snowball/ext/GermanStemmer.java | 717 ++++ .../stemmer/snowball/ext/danishStemmer.java | 439 +++ .../stemmer/snowball/ext/dutchStemmer.java | 853 +++++ .../stemmer/snowball/ext/finnishStemmer.java | 1050 ++++++ .../stemmer/snowball/ext/frenchStemmer.java | 1520 ++++++++ .../snowball/ext/hungarianStemmer.java | 1174 ++++++ .../stemmer/snowball/ext/italianStemmer.java | 1196 +++++++ .../snowball/ext/norwegianStemmer.java | 374 ++ .../stemmer/snowball/ext/porterStemmer.java | 922 +++++ .../snowball/ext/portugueseStemmer.java | 1132 ++++++ .../stemmer/snowball/ext/romanianStemmer.java | 1040 ++++++ .../stemmer/snowball/ext/russianStemmer.java | 743 ++++ .../stemmer/snowball/ext/spanishStemmer.java | 1198 +++++++ .../stemmer/snowball/ext/swedishStemmer.java | 365 ++ .../stemmer/snowball/ext/turkishStemmer.java | 3146 +++++++++++++++++ .../indexer/src/com/nexwave/stemmer/test.txt | 9 - .../template/common/css/positioning.css | 55 +- xsl/webhelp/xsl/webhelp.xsl | 255 +- 29 files changed, 17947 insertions(+), 200 deletions(-) delete mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/Stemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/Among.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballProgram.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/TestApp.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/EnglishStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/GermanStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/danishStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/dutchStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/finnishStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/frenchStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/hungarianStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/italianStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/norwegianStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/porterStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/portugueseStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/romanianStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/russianStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/spanishStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/swedishStemmer.java create mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/turkishStemmer.java delete mode 100755 xsl/webhelp/indexer/src/com/nexwave/stemmer/test.txt diff --git a/xsl/webhelp/build.properties b/xsl/webhelp/build.properties index 852ad1c34..05dc5410a 100755 --- a/xsl/webhelp/build.properties +++ b/xsl/webhelp/build.properties @@ -20,7 +20,8 @@ validate=true # Set this to true if you don't need a search tab. exclude.search.from.chunked.html=false -#indexe-language is used to tell the search indexer which language the docbook is written. +#indexer-language is used to tell the search indexer which language the docbook is written. #This will be used to identify the correct stemmer, and punctuations that differs from language to language. -#see the documentation for details. en=English, cn=Chinese, jp=Japanese etc. -indexer-language=en +#see the documentation for details. en=English, de=German, cn=Chinese, jp=Japanese etc. +#Country codes are available at: http://www.uspto.gov/patft/help/helpctry.htm +indexer-language=de diff --git a/xsl/webhelp/build.xml b/xsl/webhelp/build.xml index 4ed4f47a8..30ae92ba2 100755 --- a/xsl/webhelp/build.xml +++ b/xsl/webhelp/build.xml @@ -40,8 +40,8 @@ - + diff --git a/xsl/webhelp/indexer/lib/nw-cms.jar b/xsl/webhelp/indexer/lib/nw-cms.jar index f00a3eef0c659ca27e173953a92dc318bba808c6..c4c3a878e08e3adbf6e1edc5f7cdd7cb0b403663 100755 GIT binary patch delta 17054 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 E19ijQd;kCd delta 10459 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 */ +public class IndexerTask{ //public class IndexerTask extends Task { -public class IndexerTask extends Task { // messages private String txt_no_inputdir = "Input directory not found:"; @@ -53,7 +55,7 @@ public class IndexerTask extends Task { //supported languages: add new additions to this. don't include country codes to the end such as en_US or en_UK, // as stemmers doesn't find a difference between them. - private String[] supportedLanguages= {"en", "fr", "cn" }; + private String[] supportedLanguages= {"en", "de"}; //currently English & German only. Chinese(cn) to be added shortly. // Indexing features: words to remove private ArrayList cleanUpStrings = null; @@ -108,8 +110,8 @@ public class IndexerTask extends Task { /** * Implementation of the execute function (Task interface) */ - public void execute() throws BuildException { - //public void execute(){ +// public void execute() throws BuildException { + public void execute(){ ArrayList filesDescription = null; // list of information about the topic files ArrayList htmlFiles = null; // topic files listed in the given directory diff --git a/xsl/webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java b/xsl/webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java index b6a01e2e1..f3333f65f 100755 --- a/xsl/webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java +++ b/xsl/webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java @@ -5,7 +5,9 @@ import java.util.*; // specific dita ot import com.nexwave.nsidita.DocFileInfo; -import com.nexwave.stemmer.*; +import com.nexwave.stemmer.snowball.SnowballStemmer; +import com.nexwave.stemmer.snowball.ext.EnglishStemmer; +import com.nexwave.stemmer.snowball.ext.GermanStemmer; /** @@ -61,7 +63,8 @@ public class SaxHTMLIndex extends SaxDocFileParser{ /** * Parses the file to extract all the words for indexing and * some data characterizing the file. - * @param file contains the fullpath of the document to parse + * @param file contains the fullpath of the document to parse + * @param indexerLanguage this will be used to tell the program which stemmer to be used. * @return a DitaFileInfo object filled with data describing the file */ public DocFileInfo runExtractData(File file, String indexerLanguage) { @@ -81,18 +84,22 @@ public class SaxHTMLIndex extends SaxDocFileParser{ //Then, add them to tempSet //Do Stemming for words in items //TODO currently, stemming support is for english only. Add support for other languages as well. - - Stemmer stemmer; + + SnowballStemmer stemmer; if(indexerLanguage.equals("en")){ stemmer = new EnglishStemmer(); - } else if (indexerLanguage.equals("cn")){ - throw new UnsupportedOperationException("Chinese stemmer is not implemented yet."); + } else if (indexerLanguage.equals("de")){ + stemmer= new GermanStemmer(); } else { - throw new UnsupportedOperationException("This stemmer is not implemented yet."); + stemmer = null;//Languages which stemming is not yet supproted.So, No stemmers will be used. } - String[] stemmedItems = stemmer.doStem(items); - + String[] stemmedItems; + if(stemmer != null) //If a stemmer available + stemmedItems = stemmer.doStem(items); + else //if no stemmer available for the particular language + stemmedItems = items; + for(String stemmedItem: stemmedItems){ System.out.print(stemmedItem+"| "); } diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/Stemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/Stemmer.java deleted file mode 100755 index 1d8f668cd..000000000 --- a/xsl/webhelp/indexer/src/com/nexwave/stemmer/Stemmer.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.nexwave.stemmer; - -/** - * Abstract class for all the language specific stemmers. - * @author Kasun Gajasinghe - * Date: Jul 11, 2010 - * Time: 12:59:47 AM - */ -public abstract class Stemmer { - - public abstract void stem(); - - public abstract void add(char[] w, int wLen); - - public abstract void add(char ch); - - public abstract String doStem(String word); - - public abstract String[] doStem(String[] word); - - public abstract String toString(); - -} diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/Among.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/Among.java new file mode 100755 index 000000000..dbaa6c7b1 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/Among.java @@ -0,0 +1,31 @@ +package com.nexwave.stemmer.snowball; + +import java.lang.reflect.Method; + +public class Among { + public Among (String s, int substring_i, int result, + String methodname, SnowballProgram methodobject) { + this.s_size = s.length(); + this.s = s.toCharArray(); + this.substring_i = substring_i; + this.result = result; + this.methodobject = methodobject; + if (methodname.length() == 0) { + this.method = null; + } else { + try { + this.method = methodobject.getClass(). + getDeclaredMethod(methodname, new Class[0]); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + } + } + + public final int s_size; /* search string */ + public final char[] s; /* search string */ + public final int substring_i; /* index to longest matching substring */ + public final int result; /* result of the lookup */ + public final Method method; /* method to use if substring matches */ + public final SnowballProgram methodobject; /* object to invoke method on */ +}; diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballProgram.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballProgram.java new file mode 100755 index 000000000..71e3c19c3 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballProgram.java @@ -0,0 +1,432 @@ + +package com.nexwave.stemmer.snowball; +import java.lang.reflect.InvocationTargetException; + +public class SnowballProgram { + protected SnowballProgram() + { + current = new StringBuffer(); + setCurrent(""); + } + + /** + * Set the current string. + */ + public void setCurrent(String value) + { + current.replace(0, current.length(), value); + cursor = 0; + limit = current.length(); + limit_backward = 0; + bra = cursor; + ket = limit; + } + + /** + * Get the current string. + */ + public String getCurrent() + { + String result = current.toString(); + // Make a new StringBuffer. If we reuse the old one, and a user of + // the library keeps a reference to the buffer returned (for example, + // by converting it to a String in a way which doesn't force a copy), + // the buffer size will not decrease, and we will risk wasting a large + // amount of memory. + // Thanks to Wolfram Esser for spotting this problem. + current = new StringBuffer(); + return result; + } + + // current string + protected StringBuffer current; + + protected int cursor; + protected int limit; + protected int limit_backward; + protected int bra; + protected int ket; + + protected void copy_from(SnowballProgram other) + { + current = other.current; + cursor = other.cursor; + limit = other.limit; + limit_backward = other.limit_backward; + bra = other.bra; + ket = other.ket; + } + + protected boolean in_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; + char ch = current.charAt(cursor); + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; + cursor++; + return true; + } + + protected boolean in_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current.charAt(cursor - 1); + if (ch > max || ch < min) return false; + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) return false; + cursor--; + return true; + } + + protected boolean out_grouping(char [] s, int min, int max) + { + if (cursor >= limit) return false; + char ch = current.charAt(cursor); + if (ch > max || ch < min) { + cursor++; + return true; + } + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { + cursor ++; + return true; + } + return false; + } + + protected boolean out_grouping_b(char [] s, int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current.charAt(cursor - 1); + if (ch > max || ch < min) { + cursor--; + return true; + } + ch -= min; + if ((s[ch >> 3] & (0X1 << (ch & 0X7))) == 0) { + cursor--; + return true; + } + return false; + } + + protected boolean in_range(int min, int max) + { + if (cursor >= limit) return false; + char ch = current.charAt(cursor); + if (ch > max || ch < min) return false; + cursor++; + return true; + } + + protected boolean in_range_b(int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current.charAt(cursor - 1); + if (ch > max || ch < min) return false; + cursor--; + return true; + } + + protected boolean out_range(int min, int max) + { + if (cursor >= limit) return false; + char ch = current.charAt(cursor); + if (!(ch > max || ch < min)) return false; + cursor++; + return true; + } + + protected boolean out_range_b(int min, int max) + { + if (cursor <= limit_backward) return false; + char ch = current.charAt(cursor - 1); + if(!(ch > max || ch < min)) return false; + cursor--; + return true; + } + + protected boolean eq_s(int s_size, String s) + { + if (limit - cursor < s_size) return false; + int i; + for (i = 0; i != s_size; i++) { + if (current.charAt(cursor + i) != s.charAt(i)) return false; + } + cursor += s_size; + return true; + } + + protected boolean eq_s_b(int s_size, String s) + { + if (cursor - limit_backward < s_size) return false; + int i; + for (i = 0; i != s_size; i++) { + if (current.charAt(cursor - s_size + i) != s.charAt(i)) return false; + } + cursor -= s_size; + return true; + } + + protected boolean eq_v(CharSequence s) + { + return eq_s(s.length(), s.toString()); + } + + protected boolean eq_v_b(CharSequence s) + { return eq_s_b(s.length(), s.toString()); + } + + protected int find_among(Among v[], int v_size) + { + int i = 0; + int j = v_size; + + int c = cursor; + int l = limit; + + int common_i = 0; + int common_j = 0; + + boolean first_key_inspected = false; + + while(true) { + int k = i + ((j - i) >> 1); + int diff = 0; + int common = common_i < common_j ? common_i : common_j; // smaller + Among w = v[k]; + int i2; + for (i2 = common; i2 < w.s_size; i2++) { + if (c + common == l) { + diff = -1; + break; + } + diff = current.charAt(c + common) - w.s[i2]; + if (diff != 0) break; + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) break; // v->s has been inspected + if (j == i) break; // only one item in v + + // - but now we need to go round once more to get + // v->s inspected. This looks messy, but is actually + // the optimal approach. + + if (first_key_inspected) break; + first_key_inspected = true; + } + } + while(true) { + Among w = v[i]; + if (common_i >= w.s_size) { + cursor = c + w.s_size; + if (w.method == null) return w.result; + boolean res; + try { + Object resobj = w.method.invoke(w.methodobject, + new Object[0]); + res = resobj.toString().equals("true"); + } catch (InvocationTargetException e) { + res = false; + // FIXME - debug message + } catch (IllegalAccessException e) { + res = false; + // FIXME - debug message + } + cursor = c + w.s_size; + if (res) return w.result; + } + i = w.substring_i; + if (i < 0) return 0; + } + } + + // find_among_b is for backwards processing. Same comments apply + protected int find_among_b(Among v[], int v_size) + { + int i = 0; + int j = v_size; + + int c = cursor; + int lb = limit_backward; + + int common_i = 0; + int common_j = 0; + + boolean first_key_inspected = false; + + while(true) { + int k = i + ((j - i) >> 1); + int diff = 0; + int common = common_i < common_j ? common_i : common_j; + Among w = v[k]; + int i2; + for (i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common == lb) { + diff = -1; + break; + } + diff = current.charAt(c - 1 - common) - w.s[i2]; + if (diff != 0) break; + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0) break; + if (j == i) break; + if (first_key_inspected) break; + first_key_inspected = true; + } + } + while(true) { + Among w = v[i]; + if (common_i >= w.s_size) { + cursor = c - w.s_size; + if (w.method == null) return w.result; + + boolean res; + try { + Object resobj = w.method.invoke(w.methodobject, + new Object[0]); + res = resobj.toString().equals("true"); + } catch (InvocationTargetException e) { + res = false; + // FIXME - debug message + } catch (IllegalAccessException e) { + res = false; + // FIXME - debug message + } + cursor = c - w.s_size; + if (res) return w.result; + } + i = w.substring_i; + if (i < 0) return 0; + } + } + + /* to replace chars between c_bra and c_ket in current by the + * chars in s. + */ + protected int replace_s(int c_bra, int c_ket, String s) + { + int adjustment = s.length() - (c_ket - c_bra); + current.replace(c_bra, c_ket, s); + limit += adjustment; + if (cursor >= c_ket) cursor += adjustment; + else if (cursor > c_bra) cursor = c_bra; + return adjustment; + } + + protected void slice_check() + { + if (bra < 0 || + bra > ket || + ket > limit || + limit > current.length()) // this line could be removed + { + System.err.println("faulty slice operation"); + // FIXME: report error somehow. + /* + fprintf(stderr, "faulty slice operation:\n"); + debug(z, -1, 0); + exit(1); + */ + } + } + + protected void slice_from(String s) + { + slice_check(); + replace_s(bra, ket, s); + } + + protected void slice_from(CharSequence s) + { + slice_from(s.toString()); + } + + protected void slice_del() + { + slice_from(""); + } + + protected void insert(int c_bra, int c_ket, String s) + { + int adjustment = replace_s(c_bra, c_ket, s); + if (c_bra <= bra) bra += adjustment; + if (c_bra <= ket) ket += adjustment; + } + + protected void insert(int c_bra, int c_ket, CharSequence s) + { + insert(c_bra, c_ket, s.toString()); + } + + /* Copy the slice into the supplied StringBuffer */ + protected StringBuffer slice_to(StringBuffer s) + { + slice_check(); + int len = ket - bra; + s.replace(0, s.length(), current.substring(bra, ket)); + return s; + } + + /* Copy the slice into the supplied StringBuilder */ + protected StringBuilder slice_to(StringBuilder s) + { + slice_check(); + int len = ket - bra; + s.replace(0, s.length(), current.substring(bra, ket)); + return s; + } + + protected StringBuffer assign_to(StringBuffer s) + { + s.replace(0, s.length(), current.substring(0, limit)); + return s; + } + + protected StringBuilder assign_to(StringBuilder s) + { + s.replace(0, s.length(), current.substring(0, limit)); + return s; + } + +/* +extern void debug(struct SN_env * z, int number, int line_count) +{ int i; + int limit = SIZE(z->p); + //if (number >= 0) printf("%3d (line %4d): '", number, line_count); + if (number >= 0) printf("%3d (line %4d): [%d]'", number, line_count,limit); + for (i = 0; i <= limit; i++) + { if (z->lb == i) printf("{"); + if (z->bra == i) printf("["); + if (z->c == i) printf("|"); + if (z->ket == i) printf("]"); + if (z->l == i) printf("}"); + if (i < limit) + { int ch = z->p[i]; + if (ch == 0) ch = '#'; + printf("%c", ch); + } + } + printf("'\n"); +} +*/ + +}; diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballStemmer.java new file mode 100755 index 000000000..cd6369697 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/SnowballStemmer.java @@ -0,0 +1,27 @@ + +package com.nexwave.stemmer.snowball; +import java.lang.reflect.InvocationTargetException; + +public abstract class SnowballStemmer extends SnowballProgram { + public abstract boolean stem(); + + /** + * Do stemming of a given String array and returns the stemmed set of words as an array. + * @param words Word set to be stemmed + * @return stemmed word array + */ + public String[] doStem(String[] words){ + String[] stemmedWords = new String[words.length]; + for (int i = 0; i < words.length; i++) { + String word = words[i]; + word = word.trim().toLowerCase(); + + //Do the stemming of the given word. + setCurrent(word); //set the word to be stemmed + stem(); //tell stemmer to stem + + stemmedWords[i] = getCurrent(); //Get the stemmed word and add it to the stemmedWords array + } + return stemmedWords; + } +} diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/TestApp.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/TestApp.java new file mode 100755 index 000000000..a274d8474 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/TestApp.java @@ -0,0 +1,72 @@ + + +package com.nexwave.stemmer.snowball; +import com.nexwave.stemmer.snowball.ext.EnglishStemmer; + +public class TestApp { + private static void usage() + { + System.err.println("Usage: TestApp [-o ]"); + } + + public static void main(String [] args) throws Throwable { +/* if (args.length < 2) { + usage(); + return; + } + + Class stemClass = Class.forName("com.nexwave.stemmer.snowball.ext." + + args[0] + "Stemmer");*/ + // SnowballStemmer stemmer = (SnowballStemmer) stemClass.newInstance(); + SnowballStemmer stemmer =new EnglishStemmer();//= new GermanStemmer(); + + StringBuffer input = new StringBuffer(); + /*Reader reader; + reader = new InputStreamReader(new FileInputStream(args[1])); + reader = new BufferedReader(reader); + + StringBuffer input = new StringBuffer(); + + OutputStream outstream; + + if (args.length > 2) { + if (args.length >= 4 && args[2].equals("-o")) { + outstream = new FileOutputStream(args[3]); + } else { + usage(); + return; + } + } else { + outstream = System.out; + } + Writer output = new OutputStreamWriter(outstream); + output = new BufferedWriter(output); + + int repeat = 1; + if (args.length > 4) { + repeat = Integer.parseInt(args[4]); + }*/ + + Object [] emptyArgs = new Object[0]; + char[] charArr = "testing runnable dogs ".toCharArray(); +// int character; + for (char ch : charArr) { + // char ch = (char) character; + if (Character.isWhitespace((char) ch)) { + if (input.length() > 0) { + stemmer.setCurrent(input.toString()); + + stemmer.stem(); + + System.out.print(stemmer.getCurrent()+" "); + /* output.write(stemmer.getCurrent()); + output.write('\n');*/ + input.delete(0, input.length()); + } + } else { + input.append(Character.toLowerCase(ch)); + } + } +// output.flush(); + } +} diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/EnglishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/EnglishStemmer.java new file mode 100755 index 000000000..d137e8ca8 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/EnglishStemmer.java @@ -0,0 +1,1330 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class EnglishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static EnglishStemmer METHOD_OBJECT = new EnglishStemmer(); + + private final static Among a_0[] = { + new Among ( "arsen", -1, -1, "", METHOD_OBJECT), + new Among ( "commun", -1, -1, "", METHOD_OBJECT), + new Among ( "gener", -1, -1, "", METHOD_OBJECT) + }; + + private final static Among a_1[] = { + new Among ( "'", -1, 1, "", METHOD_OBJECT), + new Among ( "'s'", 0, 1, "", METHOD_OBJECT), + new Among ( "'s", -1, 1, "", METHOD_OBJECT) + }; + + private final static Among a_2[] = { + new Among ( "ied", -1, 2, "", METHOD_OBJECT), + new Among ( "s", -1, 3, "", METHOD_OBJECT), + new Among ( "ies", 1, 2, "", METHOD_OBJECT), + new Among ( "sses", 1, 1, "", METHOD_OBJECT), + new Among ( "ss", 1, -1, "", METHOD_OBJECT), + new Among ( "us", 1, -1, "", METHOD_OBJECT) + }; + + private final static Among a_3[] = { + new Among ( "", -1, 3, "", METHOD_OBJECT), + new Among ( "bb", 0, 2, "", METHOD_OBJECT), + new Among ( "dd", 0, 2, "", METHOD_OBJECT), + new Among ( "ff", 0, 2, "", METHOD_OBJECT), + new Among ( "gg", 0, 2, "", METHOD_OBJECT), + new Among ( "bl", 0, 1, "", METHOD_OBJECT), + new Among ( "mm", 0, 2, "", METHOD_OBJECT), + new Among ( "nn", 0, 2, "", METHOD_OBJECT), + new Among ( "pp", 0, 2, "", METHOD_OBJECT), + new Among ( "rr", 0, 2, "", METHOD_OBJECT), + new Among ( "at", 0, 1, "", METHOD_OBJECT), + new Among ( "tt", 0, 2, "", METHOD_OBJECT), + new Among ( "iz", 0, 1, "", METHOD_OBJECT) + }; + + private final static Among a_4[] = { + new Among ( "ed", -1, 2, "", METHOD_OBJECT), + new Among ( "eed", 0, 1, "", METHOD_OBJECT), + new Among ( "ing", -1, 2, "", METHOD_OBJECT), + new Among ( "edly", -1, 2, "", METHOD_OBJECT), + new Among ( "eedly", 3, 1, "", METHOD_OBJECT), + new Among ( "ingly", -1, 2, "", METHOD_OBJECT) + }; + + private final static Among a_5[] = { + new Among ( "anci", -1, 3, "", METHOD_OBJECT), + new Among ( "enci", -1, 2, "", METHOD_OBJECT), + new Among ( "ogi", -1, 13, "", METHOD_OBJECT), + new Among ( "li", -1, 16, "", METHOD_OBJECT), + new Among ( "bli", 3, 12, "", METHOD_OBJECT), + new Among ( "abli", 4, 4, "", METHOD_OBJECT), + new Among ( "alli", 3, 8, "", METHOD_OBJECT), + new Among ( "fulli", 3, 14, "", METHOD_OBJECT), + new Among ( "lessli", 3, 15, "", METHOD_OBJECT), + new Among ( "ousli", 3, 10, "", METHOD_OBJECT), + new Among ( "entli", 3, 5, "", METHOD_OBJECT), + new Among ( "aliti", -1, 8, "", METHOD_OBJECT), + new Among ( "biliti", -1, 12, "", METHOD_OBJECT), + new Among ( "iviti", -1, 11, "", METHOD_OBJECT), + new Among ( "tional", -1, 1, "", METHOD_OBJECT), + new Among ( "ational", 14, 7, "", METHOD_OBJECT), + new Among ( "alism", -1, 8, "", METHOD_OBJECT), + new Among ( "ation", -1, 7, "", METHOD_OBJECT), + new Among ( "ization", 17, 6, "", METHOD_OBJECT), + new Among ( "izer", -1, 6, "", METHOD_OBJECT), + new Among ( "ator", -1, 7, "", METHOD_OBJECT), + new Among ( "iveness", -1, 11, "", METHOD_OBJECT), + new Among ( "fulness", -1, 9, "", METHOD_OBJECT), + new Among ( "ousness", -1, 10, "", METHOD_OBJECT) + }; + + private final static Among a_6[] = { + new Among ( "icate", -1, 4, "", METHOD_OBJECT), + new Among ( "ative", -1, 6, "", METHOD_OBJECT), + new Among ( "alize", -1, 3, "", METHOD_OBJECT), + new Among ( "iciti", -1, 4, "", METHOD_OBJECT), + new Among ( "ical", -1, 4, "", METHOD_OBJECT), + new Among ( "tional", -1, 1, "", METHOD_OBJECT), + new Among ( "ational", 5, 2, "", METHOD_OBJECT), + new Among ( "ful", -1, 5, "", METHOD_OBJECT), + new Among ( "ness", -1, 5, "", METHOD_OBJECT) + }; + + private final static Among a_7[] = { + new Among ( "ic", -1, 1, "", METHOD_OBJECT), + new Among ( "ance", -1, 1, "", METHOD_OBJECT), + new Among ( "ence", -1, 1, "", METHOD_OBJECT), + new Among ( "able", -1, 1, "", METHOD_OBJECT), + new Among ( "ible", -1, 1, "", METHOD_OBJECT), + new Among ( "ate", -1, 1, "", METHOD_OBJECT), + new Among ( "ive", -1, 1, "", METHOD_OBJECT), + new Among ( "ize", -1, 1, "", METHOD_OBJECT), + new Among ( "iti", -1, 1, "", METHOD_OBJECT), + new Among ( "al", -1, 1, "", METHOD_OBJECT), + new Among ( "ism", -1, 1, "", METHOD_OBJECT), + new Among ( "ion", -1, 2, "", METHOD_OBJECT), + new Among ( "er", -1, 1, "", METHOD_OBJECT), + new Among ( "ous", -1, 1, "", METHOD_OBJECT), + new Among ( "ant", -1, 1, "", METHOD_OBJECT), + new Among ( "ent", -1, 1, "", METHOD_OBJECT), + new Among ( "ment", 15, 1, "", METHOD_OBJECT), + new Among ( "ement", 16, 1, "", METHOD_OBJECT) + }; + + private final static Among a_8[] = { + new Among ( "e", -1, 1, "", METHOD_OBJECT), + new Among ( "l", -1, 2, "", METHOD_OBJECT) + }; + + private final static Among a_9[] = { + new Among ( "succeed", -1, -1, "", METHOD_OBJECT), + new Among ( "proceed", -1, -1, "", METHOD_OBJECT), + new Among ( "exceed", -1, -1, "", METHOD_OBJECT), + new Among ( "canning", -1, -1, "", METHOD_OBJECT), + new Among ( "inning", -1, -1, "", METHOD_OBJECT), + new Among ( "earring", -1, -1, "", METHOD_OBJECT), + new Among ( "herring", -1, -1, "", METHOD_OBJECT), + new Among ( "outing", -1, -1, "", METHOD_OBJECT) + }; + + private final static Among a_10[] = { + new Among ( "andes", -1, -1, "", METHOD_OBJECT), + new Among ( "atlas", -1, -1, "", METHOD_OBJECT), + new Among ( "bias", -1, -1, "", METHOD_OBJECT), + new Among ( "cosmos", -1, -1, "", METHOD_OBJECT), + new Among ( "dying", -1, 3, "", METHOD_OBJECT), + new Among ( "early", -1, 9, "", METHOD_OBJECT), + new Among ( "gently", -1, 7, "", METHOD_OBJECT), + new Among ( "howe", -1, -1, "", METHOD_OBJECT), + new Among ( "idly", -1, 6, "", METHOD_OBJECT), + new Among ( "lying", -1, 4, "", METHOD_OBJECT), + new Among ( "news", -1, -1, "", METHOD_OBJECT), + new Among ( "only", -1, 10, "", METHOD_OBJECT), + new Among ( "singly", -1, 11, "", METHOD_OBJECT), + new Among ( "skies", -1, 2, "", METHOD_OBJECT), + new Among ( "skis", -1, 1, "", METHOD_OBJECT), + new Among ( "sky", -1, -1, "", METHOD_OBJECT), + new Among ( "tying", -1, 5, "", METHOD_OBJECT), + new Among ( "ugly", -1, 8, "", METHOD_OBJECT) + }; + + private static final char g_v[] = {17, 65, 16, 1 }; + + private static final char g_v_WXY[] = {1, 17, 65, 208, 1 }; + + private static final char g_valid_LI[] = {55, 141, 2 }; + + private boolean B_Y_found; + private int I_p2; + private int I_p1; + + private void copy_from(EnglishStemmer 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_prelude() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 25 + // unset Y_found, line 26 + B_Y_found = false; + // do, line 27 + v_1 = cursor; + lab0: do { + // (, line 27 + // [, line 27 + bra = cursor; + // literal, line 27 + if (!(eq_s(1, "'"))) + { + break lab0; + } + // ], line 27 + ket = cursor; + // delete, line 27 + slice_del(); + } while (false); + cursor = v_1; + // do, line 28 + v_2 = cursor; + lab1: do { + // (, line 28 + // [, line 28 + bra = cursor; + // literal, line 28 + if (!(eq_s(1, "y"))) + { + break lab1; + } + // ], line 28 + ket = cursor; + // <-, line 28 + slice_from("Y"); + // set Y_found, line 28 + B_Y_found = true; + } while (false); + cursor = v_2; + // do, line 29 + v_3 = cursor; + lab2: do { + // repeat, line 29 + replab3: while(true) + { + v_4 = cursor; + lab4: do { + // (, line 29 + // goto, line 29 + golab5: while(true) + { + v_5 = cursor; + lab6: do { + // (, line 29 + if (!(in_grouping(g_v, 97, 121))) + { + break lab6; + } + // [, line 29 + bra = cursor; + // literal, line 29 + if (!(eq_s(1, "y"))) + { + break lab6; + } + // ], line 29 + ket = cursor; + cursor = v_5; + break golab5; + } while (false); + cursor = v_5; + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + // <-, line 29 + slice_from("Y"); + // set Y_found, line 29 + B_Y_found = true; + continue replab3; + } while (false); + cursor = v_4; + break replab3; + } + } while (false); + cursor = v_3; + return true; + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + // (, line 32 + I_p1 = limit; + I_p2 = limit; + // do, line 35 + v_1 = cursor; + lab0: do { + // (, line 35 + // or, line 41 + lab1: do { + v_2 = cursor; + lab2: do { + // among, line 36 + if (find_among(a_0, 3) == 0) + { + break lab2; + } + break lab1; + } while (false); + cursor = v_2; + // (, line 41 + // gopast, line 41 + golab3: while(true) + { + lab4: do { + if (!(in_grouping(g_v, 97, 121))) + { + break lab4; + } + break golab3; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // gopast, line 41 + golab5: while(true) + { + lab6: do { + if (!(out_grouping(g_v, 97, 121))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } while (false); + // setmark p1, line 42 + I_p1 = cursor; + // gopast, line 43 + golab7: while(true) + { + lab8: do { + if (!(in_grouping(g_v, 97, 121))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // gopast, line 43 + golab9: while(true) + { + lab10: do { + if (!(out_grouping(g_v, 97, 121))) + { + break lab10; + } + break golab9; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // setmark p2, line 43 + I_p2 = cursor; + } while (false); + cursor = v_1; + return true; + } + + private boolean r_shortv() { + int v_1; + // (, line 49 + // or, line 51 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 50 + if (!(out_grouping_b(g_v_WXY, 89, 121))) + { + break lab1; + } + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + if (!(out_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 52 + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + if (!(in_grouping_b(g_v, 97, 121))) + { + return false; + } + // atlimit, line 52 + if (cursor > limit_backward) + { + return false; + } + } while (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_Step_1a() { + int among_var; + int v_1; + int v_2; + // (, line 58 + // try, line 59 + v_1 = limit - cursor; + lab0: do { + // (, line 59 + // [, line 60 + ket = cursor; + // substring, line 60 + among_var = find_among_b(a_1, 3); + if (among_var == 0) + { + cursor = limit - v_1; + break lab0; + } + // ], line 60 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_1; + break lab0; + case 1: + // (, line 62 + // delete, line 62 + slice_del(); + break; + } + } while (false); + // [, line 65 + ket = cursor; + // substring, line 65 + among_var = find_among_b(a_2, 6); + if (among_var == 0) + { + return false; + } + // ], line 65 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 66 + // <-, line 66 + slice_from("ss"); + break; + case 2: + // (, line 68 + // or, line 68 + lab1: do { + v_2 = limit - cursor; + lab2: do { + // (, line 68 + // hop, line 68 + { + int c = cursor - 2; + if (limit_backward > c || c > limit) + { + break lab2; + } + cursor = c; + } + // <-, line 68 + slice_from("i"); + break lab1; + } while (false); + cursor = limit - v_2; + // <-, line 68 + slice_from("ie"); + } while (false); + break; + case 3: + // (, line 69 + // next, line 69 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // gopast, line 69 + golab3: while(true) + { + lab4: do { + if (!(in_grouping_b(g_v, 97, 121))) + { + break lab4; + } + break golab3; + } while (false); + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + // delete, line 69 + slice_del(); + break; + } + return true; + } + + private boolean r_Step_1b() { + int among_var; + int v_1; + int v_3; + int v_4; + // (, line 74 + // [, line 75 + ket = cursor; + // substring, line 75 + among_var = find_among_b(a_4, 6); + if (among_var == 0) + { + return false; + } + // ], line 75 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 77 + // call R1, line 77 + if (!r_R1()) + { + return false; + } + // <-, line 77 + slice_from("ee"); + break; + case 2: + // (, line 79 + // test, line 80 + v_1 = limit - cursor; + // gopast, line 80 + 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 80 + slice_del(); + // test, line 81 + v_3 = limit - cursor; + // substring, line 81 + among_var = find_among_b(a_3, 13); + if (among_var == 0) + { + return false; + } + cursor = limit - v_3; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 83 + // <+, line 83 + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + case 2: + // (, line 86 + // [, line 86 + ket = cursor; + // next, line 86 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 86 + bra = cursor; + // delete, line 86 + slice_del(); + break; + case 3: + // (, line 87 + // atmark, line 87 + if (cursor != I_p1) + { + return false; + } + // test, line 87 + v_4 = limit - cursor; + // call shortv, line 87 + if (!r_shortv()) + { + return false; + } + cursor = limit - v_4; + // <+, line 87 + { + int c = cursor; + insert(cursor, cursor, "e"); + cursor = c; + } + break; + } + break; + } + return true; + } + + private boolean r_Step_1c() { + int v_1; + int v_2; + // (, line 93 + // [, line 94 + ket = cursor; + // or, line 94 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // literal, line 94 + if (!(eq_s_b(1, "y"))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // literal, line 94 + if (!(eq_s_b(1, "Y"))) + { + return false; + } + } while (false); + // ], line 94 + bra = cursor; + if (!(out_grouping_b(g_v, 97, 121))) + { + return false; + } + // not, line 95 + { + v_2 = limit - cursor; + lab2: do { + // atlimit, line 95 + if (cursor > limit_backward) + { + break lab2; + } + return false; + } while (false); + cursor = limit - v_2; + } + // <-, line 96 + slice_from("i"); + return true; + } + + private boolean r_Step_2() { + int among_var; + // (, line 99 + // [, line 100 + ket = cursor; + // substring, line 100 + among_var = find_among_b(a_5, 24); + if (among_var == 0) + { + return false; + } + // ], line 100 + bra = cursor; + // call R1, line 100 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 101 + // <-, line 101 + slice_from("tion"); + break; + case 2: + // (, line 102 + // <-, line 102 + slice_from("ence"); + break; + case 3: + // (, line 103 + // <-, line 103 + slice_from("ance"); + break; + case 4: + // (, line 104 + // <-, line 104 + slice_from("able"); + break; + case 5: + // (, line 105 + // <-, line 105 + slice_from("ent"); + break; + case 6: + // (, line 107 + // <-, line 107 + slice_from("ize"); + break; + case 7: + // (, line 109 + // <-, line 109 + slice_from("ate"); + break; + case 8: + // (, line 111 + // <-, line 111 + slice_from("al"); + break; + case 9: + // (, line 112 + // <-, line 112 + slice_from("ful"); + break; + case 10: + // (, line 114 + // <-, line 114 + slice_from("ous"); + break; + case 11: + // (, line 116 + // <-, line 116 + slice_from("ive"); + break; + case 12: + // (, line 118 + // <-, line 118 + slice_from("ble"); + break; + case 13: + // (, line 119 + // literal, line 119 + if (!(eq_s_b(1, "l"))) + { + return false; + } + // <-, line 119 + slice_from("og"); + break; + case 14: + // (, line 120 + // <-, line 120 + slice_from("ful"); + break; + case 15: + // (, line 121 + // <-, line 121 + slice_from("less"); + break; + case 16: + // (, line 122 + if (!(in_grouping_b(g_valid_LI, 99, 116))) + { + return false; + } + // delete, line 122 + slice_del(); + break; + } + return true; + } + + private boolean r_Step_3() { + int among_var; + // (, line 126 + // [, line 127 + ket = cursor; + // substring, line 127 + among_var = find_among_b(a_6, 9); + if (among_var == 0) + { + return false; + } + // ], line 127 + bra = cursor; + // call R1, line 127 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 128 + // <-, line 128 + slice_from("tion"); + break; + case 2: + // (, line 129 + // <-, line 129 + slice_from("ate"); + break; + case 3: + // (, line 130 + // <-, line 130 + slice_from("al"); + break; + case 4: + // (, line 132 + // <-, line 132 + slice_from("ic"); + break; + case 5: + // (, line 134 + // delete, line 134 + slice_del(); + break; + case 6: + // (, line 136 + // call R2, line 136 + if (!r_R2()) + { + return false; + } + // delete, line 136 + slice_del(); + break; + } + return true; + } + + private boolean r_Step_4() { + int among_var; + int v_1; + // (, line 140 + // [, line 141 + ket = cursor; + // substring, line 141 + among_var = find_among_b(a_7, 18); + if (among_var == 0) + { + return false; + } + // ], line 141 + bra = cursor; + // call R2, line 141 + if (!r_R2()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 144 + // delete, line 144 + slice_del(); + break; + case 2: + // (, line 145 + // or, line 145 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // literal, line 145 + if (!(eq_s_b(1, "s"))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // literal, line 145 + if (!(eq_s_b(1, "t"))) + { + return false; + } + } while (false); + // delete, line 145 + slice_del(); + break; + } + return true; + } + + private boolean r_Step_5() { + int among_var; + int v_1; + int v_2; + // (, line 149 + // [, line 150 + ket = cursor; + // substring, line 150 + among_var = find_among_b(a_8, 2); + if (among_var == 0) + { + return false; + } + // ], line 150 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 151 + // or, line 151 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // call R2, line 151 + if (!r_R2()) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 151 + // call R1, line 151 + if (!r_R1()) + { + return false; + } + // not, line 151 + { + v_2 = limit - cursor; + lab2: do { + // call shortv, line 151 + if (!r_shortv()) + { + break lab2; + } + return false; + } while (false); + cursor = limit - v_2; + } + } while (false); + // delete, line 151 + slice_del(); + break; + case 2: + // (, line 152 + // call R2, line 152 + if (!r_R2()) + { + return false; + } + // literal, line 152 + if (!(eq_s_b(1, "l"))) + { + return false; + } + // delete, line 152 + slice_del(); + break; + } + return true; + } + + private boolean r_exception2() { + // (, line 156 + // [, line 158 + ket = cursor; + // substring, line 158 + if (find_among_b(a_9, 8) == 0) + { + return false; + } + // ], line 158 + bra = cursor; + // atlimit, line 158 + if (cursor > limit_backward) + { + return false; + } + return true; + } + + private boolean r_exception1() { + int among_var; + // (, line 168 + // [, line 170 + bra = cursor; + // substring, line 170 + among_var = find_among(a_10, 18); + if (among_var == 0) + { + return false; + } + // ], line 170 + ket = cursor; + // atlimit, line 170 + if (cursor < limit) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 174 + // <-, line 174 + slice_from("ski"); + break; + case 2: + // (, line 175 + // <-, line 175 + slice_from("sky"); + break; + case 3: + // (, line 176 + // <-, line 176 + slice_from("die"); + break; + case 4: + // (, line 177 + // <-, line 177 + slice_from("lie"); + break; + case 5: + // (, line 178 + // <-, line 178 + slice_from("tie"); + break; + case 6: + // (, line 182 + // <-, line 182 + slice_from("idl"); + break; + case 7: + // (, line 183 + // <-, line 183 + slice_from("gentl"); + break; + case 8: + // (, line 184 + // <-, line 184 + slice_from("ugli"); + break; + case 9: + // (, line 185 + // <-, line 185 + slice_from("earli"); + break; + case 10: + // (, line 186 + // <-, line 186 + slice_from("onli"); + break; + case 11: + // (, line 187 + // <-, line 187 + slice_from("singl"); + break; + } + return true; + } + + private boolean r_postlude() { + int v_1; + int v_2; + // (, line 203 + // Boolean test Y_found, line 203 + if (!(B_Y_found)) + { + return false; + } + // repeat, line 203 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 203 + // goto, line 203 + golab2: while(true) + { + v_2 = cursor; + lab3: do { + // (, line 203 + // [, line 203 + bra = cursor; + // literal, line 203 + if (!(eq_s(1, "Y"))) + { + break lab3; + } + // ], line 203 + ket = cursor; + cursor = v_2; + break golab2; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + // <-, line 203 + slice_from("y"); + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + int v_12; + int v_13; + // (, line 205 + // or, line 207 + lab0: do { + v_1 = cursor; + lab1: do { + // call exception1, line 207 + if (!r_exception1()) + { + break lab1; + } + break lab0; + } while (false); + cursor = v_1; + lab2: do { + // not, line 208 + { + v_2 = cursor; + lab3: do { + // hop, line 208 + { + int c = cursor + 3; + if (0 > c || c > limit) + { + break lab3; + } + cursor = c; + } + break lab2; + } while (false); + cursor = v_2; + } + break lab0; + } while (false); + cursor = v_1; + // (, line 208 + // do, line 209 + v_3 = cursor; + lab4: do { + // call prelude, line 209 + if (!r_prelude()) + { + break lab4; + } + } while (false); + cursor = v_3; + // do, line 210 + v_4 = cursor; + lab5: do { + // call mark_regions, line 210 + if (!r_mark_regions()) + { + break lab5; + } + } while (false); + cursor = v_4; + // backwards, line 211 + limit_backward = cursor; cursor = limit; + // (, line 211 + // do, line 213 + v_5 = limit - cursor; + lab6: do { + // call Step_1a, line 213 + if (!r_Step_1a()) + { + break lab6; + } + } while (false); + cursor = limit - v_5; + // or, line 215 + lab7: do { + v_6 = limit - cursor; + lab8: do { + // call exception2, line 215 + if (!r_exception2()) + { + break lab8; + } + break lab7; + } while (false); + cursor = limit - v_6; + // (, line 215 + // do, line 217 + v_7 = limit - cursor; + lab9: do { + // call Step_1b, line 217 + if (!r_Step_1b()) + { + break lab9; + } + } while (false); + cursor = limit - v_7; + // do, line 218 + v_8 = limit - cursor; + lab10: do { + // call Step_1c, line 218 + if (!r_Step_1c()) + { + break lab10; + } + } while (false); + cursor = limit - v_8; + // do, line 220 + v_9 = limit - cursor; + lab11: do { + // call Step_2, line 220 + if (!r_Step_2()) + { + break lab11; + } + } while (false); + cursor = limit - v_9; + // do, line 221 + v_10 = limit - cursor; + lab12: do { + // call Step_3, line 221 + if (!r_Step_3()) + { + break lab12; + } + } while (false); + cursor = limit - v_10; + // do, line 222 + v_11 = limit - cursor; + lab13: do { + // call Step_4, line 222 + if (!r_Step_4()) + { + break lab13; + } + } while (false); + cursor = limit - v_11; + // do, line 224 + v_12 = limit - cursor; + lab14: do { + // call Step_5, line 224 + if (!r_Step_5()) + { + break lab14; + } + } while (false); + cursor = limit - v_12; + } while (false); + cursor = limit_backward; // do, line 227 + v_13 = cursor; + lab15: do { + // call postlude, line 227 + if (!r_postlude()) + { + break lab15; + } + } while (false); + cursor = v_13; + } while (false); + return true; + } + + public boolean equals( Object o ) { + return o instanceof EnglishStemmer; + } + + public int hashCode() { + return EnglishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/GermanStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/GermanStemmer.java new file mode 100755 index 000000000..946adcf6a --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/GermanStemmer.java @@ -0,0 +1,717 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + +/** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class GermanStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + + private static final long serialVersionUID = 1L; + + + + private final static GermanStemmer METHOD_OBJECT = new GermanStemmer(); + + private final static Among a_0[] = { + new Among("", -1, 6, "", METHOD_OBJECT), + new Among("U", 0, 2, "", METHOD_OBJECT), + new Among("Y", 0, 1, "", METHOD_OBJECT), + new Among("\u00E4", 0, 3, "", METHOD_OBJECT), + new Among("\u00F6", 0, 4, "", METHOD_OBJECT), + new Among("\u00FC", 0, 5, "", METHOD_OBJECT) + }; + + private final static Among a_1[] = { + new Among("e", -1, 2, "", METHOD_OBJECT), + new Among("em", -1, 1, "", METHOD_OBJECT), + new Among("en", -1, 2, "", METHOD_OBJECT), + new Among("ern", -1, 1, "", METHOD_OBJECT), + new Among("er", -1, 1, "", METHOD_OBJECT), + new Among("s", -1, 3, "", METHOD_OBJECT), + new Among("es", 5, 2, "", METHOD_OBJECT) + }; + + private final static Among a_2[] = { + new Among("en", -1, 1, "", METHOD_OBJECT), + new Among("er", -1, 1, "", METHOD_OBJECT), + new Among("st", -1, 2, "", METHOD_OBJECT), + new Among("est", 2, 1, "", METHOD_OBJECT) + }; + + private final static Among a_3[] = { + new Among("ig", -1, 1, "", METHOD_OBJECT), + new Among("lich", -1, 1, "", METHOD_OBJECT) + }; + + private final static Among a_4[] = { + new Among("end", -1, 1, "", METHOD_OBJECT), + new Among("ig", -1, 2, "", METHOD_OBJECT), + new Among("ung", -1, 1, "", METHOD_OBJECT), + new Among("lich", -1, 3, "", METHOD_OBJECT), + new Among("isch", -1, 2, "", METHOD_OBJECT), + new Among("ik", -1, 2, "", METHOD_OBJECT), + new Among("heit", -1, 3, "", METHOD_OBJECT), + new Among("keit", -1, 4, "", METHOD_OBJECT) + }; + + private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8}; + + private static final char g_s_ending[] = {117, 30, 5}; + + private static final char g_st_ending[] = {117, 30, 4}; + + private int I_x; + private int I_p2; + private int I_p1; + + private void copy_from(GermanStemmer other) { + I_x = other.I_x; + I_p2 = other.I_p2; + I_p1 = other.I_p1; + super.copy_from(other); + } + + private boolean r_prelude() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + // (, line 33 + // test, line 35 + v_1 = cursor; + // repeat, line 35 + replab0: + while (true) { + v_2 = cursor; + lab1: + do { + // (, line 35 + // or, line 38 + lab2: + do { + v_3 = cursor; + lab3: + do { + // (, line 36 + // [, line 37 + bra = cursor; + // literal, line 37 + if (!(eq_s(1, "\u00DF"))) { + break lab3; + } + // ], line 37 + ket = cursor; + // <-, line 37 + slice_from("ss"); + break lab2; + } while (false); + cursor = v_3; + // next, line 38 + if (cursor >= limit) { + break lab1; + } + cursor++; + } while (false); + continue replab0; + } while (false); + cursor = v_2; + break replab0; + } + cursor = v_1; + // repeat, line 41 + replab4: + while (true) { + v_4 = cursor; + lab5: + do { + // goto, line 41 + golab6: + while (true) { + v_5 = cursor; + lab7: + do { + // (, line 41 + if (!(in_grouping(g_v, 97, 252))) { + break lab7; + } + // [, line 42 + bra = cursor; + // or, line 42 + lab8: + do { + v_6 = cursor; + lab9: + do { + // (, line 42 + // literal, line 42 + if (!(eq_s(1, "u"))) { + break lab9; + } + // ], line 42 + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) { + break lab9; + } + // <-, line 42 + slice_from("U"); + break lab8; + } while (false); + cursor = v_6; + // (, line 43 + // literal, line 43 + if (!(eq_s(1, "y"))) { + break lab7; + } + // ], line 43 + ket = cursor; + if (!(in_grouping(g_v, 97, 252))) { + break lab7; + } + // <-, line 43 + slice_from("Y"); + } while (false); + cursor = v_5; + break golab6; + } while (false); + cursor = v_5; + if (cursor >= limit) { + break lab5; + } + cursor++; + } + continue replab4; + } while (false); + cursor = v_4; + break replab4; + } + return true; + } + + private boolean r_mark_regions() { + int v_1; + // (, line 47 + I_p1 = limit; + I_p2 = limit; + // test, line 52 + v_1 = cursor; + // (, line 52 + // hop, line 52 + { + int c = cursor + 3; + if (0 > c || c > limit) { + return false; + } + cursor = c; + } + // setmark x, line 52 + I_x = cursor; + cursor = v_1; + // gopast, line 54 + golab0: + while (true) { + lab1: + do { + if (!(in_grouping(g_v, 97, 252))) { + break lab1; + } + break golab0; + } while (false); + if (cursor >= limit) { + return false; + } + cursor++; + } + // gopast, line 54 + golab2: + while (true) { + lab3: + do { + if (!(out_grouping(g_v, 97, 252))) { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) { + return false; + } + cursor++; + } + // setmark p1, line 54 + I_p1 = cursor; + // try, line 55 + lab4: + do { + // (, line 55 + if (!(I_p1 < I_x)) { + break lab4; + } + I_p1 = I_x; + } while (false); + // gopast, line 56 + golab5: + while (true) { + lab6: + do { + if (!(in_grouping(g_v, 97, 252))) { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) { + return false; + } + cursor++; + } + // gopast, line 56 + golab7: + while (true) { + lab8: + do { + if (!(out_grouping(g_v, 97, 252))) { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) { + return false; + } + cursor++; + } + // setmark p2, line 56 + I_p2 = cursor; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 60 + replab0: + while (true) { + v_1 = cursor; + lab1: + do { + // (, line 60 + // [, line 62 + bra = cursor; + // substring, line 62 + among_var = find_among(a_0, 6); + if (among_var == 0) { + break lab1; + } + // ], line 62 + ket = cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + // (, line 63 + // <-, line 63 + slice_from("y"); + break; + case 2: + // (, line 64 + // <-, line 64 + slice_from("u"); + break; + case 3: + // (, line 65 + // <-, line 65 + slice_from("a"); + break; + case 4: + // (, line 66 + // <-, line 66 + slice_from("o"); + break; + case 5: + // (, line 67 + // <-, line 67 + slice_from("u"); + break; + case 6: + // (, line 68 + // next, line 68 + if (cursor >= limit) { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_R1() { + if (!(I_p1 <= cursor)) { + return false; + } + return true; + } + + private boolean r_R2() { + if (!(I_p2 <= cursor)) { + return false; + } + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 78 + // do, line 79 + v_1 = limit - cursor; + lab0: + do { + // (, line 79 + // [, line 80 + ket = cursor; + // substring, line 80 + among_var = find_among_b(a_1, 7); + if (among_var == 0) { + break lab0; + } + // ], line 80 + bra = cursor; + // call R1, line 80 + if (!r_R1()) { + break lab0; + } + switch (among_var) { + case 0: + break lab0; + case 1: + // (, line 82 + // delete, line 82 + slice_del(); + break; + case 2: + // (, line 85 + // delete, line 85 + slice_del(); + // try, line 86 + v_2 = limit - cursor; + lab1: + do { + // (, line 86 + // [, line 86 + ket = cursor; + // literal, line 86 + if (!(eq_s_b(1, "s"))) { + cursor = limit - v_2; + break lab1; + } + // ], line 86 + bra = cursor; + // literal, line 86 + if (!(eq_s_b(3, "nis"))) { + cursor = limit - v_2; + break lab1; + } + // delete, line 86 + slice_del(); + } while (false); + break; + case 3: + // (, line 89 + if (!(in_grouping_b(g_s_ending, 98, 116))) { + break lab0; + } + // delete, line 89 + slice_del(); + break; + } + } while (false); + cursor = limit - v_1; + // do, line 93 + v_3 = limit - cursor; + lab2: + do { + // (, line 93 + // [, line 94 + ket = cursor; + // substring, line 94 + among_var = find_among_b(a_2, 4); + if (among_var == 0) { + break lab2; + } + // ], line 94 + bra = cursor; + // call R1, line 94 + if (!r_R1()) { + break lab2; + } + switch (among_var) { + case 0: + break lab2; + case 1: + // (, line 96 + // delete, line 96 + slice_del(); + break; + case 2: + // (, line 99 + if (!(in_grouping_b(g_st_ending, 98, 116))) { + break lab2; + } + // hop, line 99 + { + int c = cursor - 3; + if (limit_backward > c || c > limit) { + break lab2; + } + cursor = c; + } + // delete, line 99 + slice_del(); + break; + } + } while (false); + cursor = limit - v_3; + // do, line 103 + v_4 = limit - cursor; + lab3: + do { + // (, line 103 + // [, line 104 + ket = cursor; + // substring, line 104 + among_var = find_among_b(a_4, 8); + if (among_var == 0) { + break lab3; + } + // ], line 104 + bra = cursor; + // call R2, line 104 + if (!r_R2()) { + break lab3; + } + switch (among_var) { + case 0: + break lab3; + case 1: + // (, line 106 + // delete, line 106 + slice_del(); + // try, line 107 + v_5 = limit - cursor; + lab4: + do { + // (, line 107 + // [, line 107 + ket = cursor; + // literal, line 107 + if (!(eq_s_b(2, "ig"))) { + cursor = limit - v_5; + break lab4; + } + // ], line 107 + bra = cursor; + // not, line 107 + { + v_6 = limit - cursor; + lab5: + do { + // literal, line 107 + if (!(eq_s_b(1, "e"))) { + break lab5; + } + cursor = limit - v_5; + break lab4; + } while (false); + cursor = limit - v_6; + } + // call R2, line 107 + if (!r_R2()) { + cursor = limit - v_5; + break lab4; + } + // delete, line 107 + slice_del(); + } while (false); + break; + case 2: + // (, line 110 + // not, line 110 + { + v_7 = limit - cursor; + lab6: + do { + // literal, line 110 + if (!(eq_s_b(1, "e"))) { + break lab6; + } + break lab3; + } while (false); + cursor = limit - v_7; + } + // delete, line 110 + slice_del(); + break; + case 3: + // (, line 113 + // delete, line 113 + slice_del(); + // try, line 114 + v_8 = limit - cursor; + lab7: + do { + // (, line 114 + // [, line 115 + ket = cursor; + // or, line 115 + lab8: + do { + v_9 = limit - cursor; + lab9: + do { + // literal, line 115 + if (!(eq_s_b(2, "er"))) { + break lab9; + } + break lab8; + } while (false); + cursor = limit - v_9; + // literal, line 115 + if (!(eq_s_b(2, "en"))) { + cursor = limit - v_8; + break lab7; + } + } while (false); + // ], line 115 + bra = cursor; + // call R1, line 115 + if (!r_R1()) { + cursor = limit - v_8; + break lab7; + } + // delete, line 115 + slice_del(); + } while (false); + break; + case 4: + // (, line 119 + // delete, line 119 + slice_del(); + // try, line 120 + v_10 = limit - cursor; + lab10: + do { + // (, line 120 + // [, line 121 + ket = cursor; + // substring, line 121 + among_var = find_among_b(a_3, 2); + if (among_var == 0) { + cursor = limit - v_10; + break lab10; + } + // ], line 121 + bra = cursor; + // call R2, line 121 + if (!r_R2()) { + cursor = limit - v_10; + break lab10; + } + switch (among_var) { + case 0: + cursor = limit - v_10; + break lab10; + case 1: + // (, line 123 + // delete, line 123 + slice_del(); + break; + } + } while (false); + break; + } + } while (false); + cursor = limit - v_4; + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 133 + // do, line 134 + v_1 = cursor; + lab0: + do { + // call prelude, line 134 + if (!r_prelude()) { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 135 + v_2 = cursor; + lab1: + do { + // call mark_regions, line 135 + if (!r_mark_regions()) { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 136 + limit_backward = cursor; + cursor = limit; + // do, line 137 + v_3 = limit - cursor; + lab2: + do { + // call standard_suffix, line 137 + if (!r_standard_suffix()) { + break lab2; + } + } while (false); + cursor = limit - v_3; + cursor = limit_backward; // do, line 138 + v_4 = cursor; + lab3: + do { + // call postlude, line 138 + if (!r_postlude()) { + break lab3; + } + } while (false); + cursor = v_4; + return true; + } + + public boolean equals(Object o) { + return o instanceof GermanStemmer; + } + + public int hashCode() { + return GermanStemmer.class.getName().hashCode(); + } + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/danishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/danishStemmer.java new file mode 100755 index 000000000..bb5189126 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/danishStemmer.java @@ -0,0 +1,439 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class danishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static danishStemmer methodObject = new danishStemmer (); + + private final static Among a_0[] = { + new Among ( "hed", -1, 1, "", methodObject ), + new Among ( "ethed", 0, 1, "", methodObject ), + new Among ( "ered", -1, 1, "", methodObject ), + new Among ( "e", -1, 1, "", methodObject ), + new Among ( "erede", 3, 1, "", methodObject ), + new Among ( "ende", 3, 1, "", methodObject ), + new Among ( "erende", 5, 1, "", methodObject ), + new Among ( "ene", 3, 1, "", methodObject ), + new Among ( "erne", 3, 1, "", methodObject ), + new Among ( "ere", 3, 1, "", methodObject ), + new Among ( "en", -1, 1, "", methodObject ), + new Among ( "heden", 10, 1, "", methodObject ), + new Among ( "eren", 10, 1, "", methodObject ), + new Among ( "er", -1, 1, "", methodObject ), + new Among ( "heder", 13, 1, "", methodObject ), + new Among ( "erer", 13, 1, "", methodObject ), + new Among ( "s", -1, 2, "", methodObject ), + new Among ( "heds", 16, 1, "", methodObject ), + new Among ( "es", 16, 1, "", methodObject ), + new Among ( "endes", 18, 1, "", methodObject ), + new Among ( "erendes", 19, 1, "", methodObject ), + new Among ( "enes", 18, 1, "", methodObject ), + new Among ( "ernes", 18, 1, "", methodObject ), + new Among ( "eres", 18, 1, "", methodObject ), + new Among ( "ens", 16, 1, "", methodObject ), + new Among ( "hedens", 24, 1, "", methodObject ), + new Among ( "erens", 24, 1, "", methodObject ), + new Among ( "ers", 16, 1, "", methodObject ), + new Among ( "ets", 16, 1, "", methodObject ), + new Among ( "erets", 28, 1, "", methodObject ), + new Among ( "et", -1, 1, "", methodObject ), + new Among ( "eret", 30, 1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "gd", -1, -1, "", methodObject ), + new Among ( "dt", -1, -1, "", methodObject ), + new Among ( "gt", -1, -1, "", methodObject ), + new Among ( "kt", -1, -1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ig", -1, 1, "", methodObject ), + new Among ( "lig", 0, 1, "", methodObject ), + new Among ( "elig", 1, 1, "", methodObject ), + new Among ( "els", -1, 1, "", methodObject ), + new Among ( "l\u00F8st", -1, 2, "", 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_s_ending[] = {239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 }; + + private int I_x; + private int I_p1; + private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); + + private void copy_from(danishStemmer other) { + I_x = other.I_x; + I_p1 = other.I_p1; + S_ch = other.S_ch; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + // (, line 29 + I_p1 = limit; + // test, line 33 + v_1 = cursor; + // (, line 33 + // hop, line 33 + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + // setmark x, line 33 + I_x = cursor; + cursor = v_1; + // goto, line 34 + golab0: while(true) + { + v_2 = cursor; + lab1: do { + if (!(in_grouping(g_v, 97, 248))) + { + break lab1; + } + cursor = v_2; + break golab0; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 34 + 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 34 + I_p1 = cursor; + // try, line 35 + lab4: do { + // (, line 35 + 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; + // (, line 40 + // setlimit, line 41 + v_1 = limit - cursor; + // tomark, line 41 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 41 + // [, line 41 + ket = cursor; + // substring, line 41 + among_var = find_among_b(a_0, 32); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 41 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 48 + // delete, line 48 + slice_del(); + break; + case 2: + // (, line 50 + if (!(in_grouping_b(g_s_ending, 97, 229))) + { + return false; + } + // delete, line 50 + slice_del(); + break; + } + return true; + } + + private boolean r_consonant_pair() { + int v_1; + int v_2; + int v_3; + // (, line 54 + // test, line 55 + v_1 = limit - cursor; + // (, line 55 + // setlimit, line 56 + v_2 = limit - cursor; + // tomark, line 56 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_3 = limit_backward; + limit_backward = cursor; + cursor = limit - v_2; + // (, line 56 + // [, line 56 + ket = cursor; + // substring, line 56 + if (find_among_b(a_1, 4) == 0) + { + limit_backward = v_3; + return false; + } + // ], line 56 + bra = cursor; + limit_backward = v_3; + cursor = limit - v_1; + // next, line 62 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 62 + bra = cursor; + // delete, line 62 + slice_del(); + return true; + } + + private boolean r_other_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 65 + // do, line 66 + v_1 = limit - cursor; + lab0: do { + // (, line 66 + // [, line 66 + ket = cursor; + // literal, line 66 + if (!(eq_s_b(2, "st"))) + { + break lab0; + } + // ], line 66 + bra = cursor; + // literal, line 66 + if (!(eq_s_b(2, "ig"))) + { + break lab0; + } + // delete, line 66 + slice_del(); + } while (false); + cursor = limit - v_1; + // setlimit, line 67 + v_2 = limit - cursor; + // tomark, line 67 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_3 = limit_backward; + limit_backward = cursor; + cursor = limit - v_2; + // (, line 67 + // [, line 67 + ket = cursor; + // substring, line 67 + among_var = find_among_b(a_2, 5); + if (among_var == 0) + { + limit_backward = v_3; + return false; + } + // ], line 67 + bra = cursor; + limit_backward = v_3; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 70 + // delete, line 70 + slice_del(); + // do, line 70 + v_4 = limit - cursor; + lab1: do { + // call consonant_pair, line 70 + if (!r_consonant_pair()) + { + break lab1; + } + } while (false); + cursor = limit - v_4; + break; + case 2: + // (, line 72 + // <-, line 72 + slice_from("l\u00F8s"); + break; + } + return true; + } + + private boolean r_undouble() { + int v_1; + int v_2; + // (, line 75 + // setlimit, line 76 + v_1 = limit - cursor; + // tomark, line 76 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 76 + // [, line 76 + ket = cursor; + if (!(out_grouping_b(g_v, 97, 248))) + { + limit_backward = v_2; + return false; + } + // ], line 76 + bra = cursor; + // -> ch, line 76 + S_ch = slice_to(S_ch); + limit_backward = v_2; + // name ch, line 77 + if (!(eq_v_b(S_ch))) + { + return false; + } + // delete, line 78 + slice_del(); + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 82 + // do, line 84 + v_1 = cursor; + lab0: do { + // call mark_regions, line 84 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // backwards, line 85 + limit_backward = cursor; cursor = limit; + // (, line 85 + // do, line 86 + v_2 = limit - cursor; + lab1: do { + // call main_suffix, line 86 + if (!r_main_suffix()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 87 + v_3 = limit - cursor; + lab2: do { + // call consonant_pair, line 87 + if (!r_consonant_pair()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 88 + v_4 = limit - cursor; + lab3: do { + // call other_suffix, line 88 + if (!r_other_suffix()) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + // do, line 89 + v_5 = limit - cursor; + lab4: do { + // call undouble, line 89 + if (!r_undouble()) + { + break lab4; + } + } while (false); + cursor = limit - v_5; + cursor = limit_backward; return true; + } + + public boolean equals( Object o ) { + return o instanceof danishStemmer; + } + + public int hashCode() { + return danishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/dutchStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/dutchStemmer.java new file mode 100755 index 000000000..811beaf92 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/dutchStemmer.java @@ -0,0 +1,853 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class dutchStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static dutchStemmer methodObject = new dutchStemmer (); + + private final static Among a_0[] = { + new Among ( "", -1, 6, "", methodObject ), + new Among ( "\u00E1", 0, 1, "", methodObject ), + new Among ( "\u00E4", 0, 1, "", methodObject ), + new Among ( "\u00E9", 0, 2, "", methodObject ), + new Among ( "\u00EB", 0, 2, "", methodObject ), + new Among ( "\u00ED", 0, 3, "", methodObject ), + new Among ( "\u00EF", 0, 3, "", methodObject ), + new Among ( "\u00F3", 0, 4, "", methodObject ), + new Among ( "\u00F6", 0, 4, "", methodObject ), + new Among ( "\u00FA", 0, 5, "", methodObject ), + new Among ( "\u00FC", 0, 5, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "", -1, 3, "", methodObject ), + new Among ( "I", 0, 2, "", methodObject ), + new Among ( "Y", 0, 1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "dd", -1, -1, "", methodObject ), + new Among ( "kk", -1, -1, "", methodObject ), + new Among ( "tt", -1, -1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ene", -1, 2, "", methodObject ), + new Among ( "se", -1, 3, "", methodObject ), + new Among ( "en", -1, 2, "", methodObject ), + new Among ( "heden", 2, 1, "", methodObject ), + new Among ( "s", -1, 3, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "end", -1, 1, "", methodObject ), + new Among ( "ig", -1, 2, "", methodObject ), + new Among ( "ing", -1, 1, "", methodObject ), + new Among ( "lijk", -1, 3, "", methodObject ), + new Among ( "baar", -1, 4, "", methodObject ), + new Among ( "bar", -1, 5, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "aa", -1, -1, "", methodObject ), + new Among ( "ee", -1, -1, "", methodObject ), + new Among ( "oo", -1, -1, "", methodObject ), + new Among ( "uu", -1, -1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + private static final char g_v_I[] = {1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + private static final char g_v_j[] = {17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + private int I_p2; + private int I_p1; + private boolean B_e_found; + + private void copy_from(dutchStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + B_e_found = other.B_e_found; + super.copy_from(other); + } + + private boolean r_prelude() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + // (, line 41 + // test, line 42 + v_1 = cursor; + // repeat, line 42 + replab0: while(true) + { + v_2 = cursor; + lab1: do { + // (, line 42 + // [, line 43 + bra = cursor; + // substring, line 43 + among_var = find_among(a_0, 11); + if (among_var == 0) + { + break lab1; + } + // ], line 43 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 45 + // <-, line 45 + slice_from("a"); + break; + case 2: + // (, line 47 + // <-, line 47 + slice_from("e"); + break; + case 3: + // (, line 49 + // <-, line 49 + slice_from("i"); + break; + case 4: + // (, line 51 + // <-, line 51 + slice_from("o"); + break; + case 5: + // (, line 53 + // <-, line 53 + slice_from("u"); + break; + case 6: + // (, line 54 + // next, line 54 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_2; + break replab0; + } + cursor = v_1; + // try, line 57 + v_3 = cursor; + lab2: do { + // (, line 57 + // [, line 57 + bra = cursor; + // literal, line 57 + if (!(eq_s(1, "y"))) + { + cursor = v_3; + break lab2; + } + // ], line 57 + ket = cursor; + // <-, line 57 + slice_from("Y"); + } while (false); + // repeat, line 58 + replab3: while(true) + { + v_4 = cursor; + lab4: do { + // goto, line 58 + golab5: while(true) + { + v_5 = cursor; + lab6: do { + // (, line 58 + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + // [, line 59 + bra = cursor; + // or, line 59 + lab7: do { + v_6 = cursor; + lab8: do { + // (, line 59 + // literal, line 59 + if (!(eq_s(1, "i"))) + { + break lab8; + } + // ], line 59 + ket = cursor; + if (!(in_grouping(g_v, 97, 232))) + { + break lab8; + } + // <-, line 59 + slice_from("I"); + break lab7; + } while (false); + cursor = v_6; + // (, line 60 + // literal, line 60 + if (!(eq_s(1, "y"))) + { + break lab6; + } + // ], line 60 + ket = cursor; + // <-, line 60 + slice_from("Y"); + } while (false); + cursor = v_5; + break golab5; + } while (false); + cursor = v_5; + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + continue replab3; + } while (false); + cursor = v_4; + break replab3; + } + return true; + } + + private boolean r_mark_regions() { + // (, line 64 + I_p1 = limit; + I_p2 = limit; + // gopast, line 69 + golab0: while(true) + { + lab1: do { + if (!(in_grouping(g_v, 97, 232))) + { + break lab1; + } + break golab0; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 69 + golab2: while(true) + { + lab3: do { + if (!(out_grouping(g_v, 97, 232))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p1, line 69 + I_p1 = cursor; + // try, line 70 + lab4: do { + // (, line 70 + if (!(I_p1 < 3)) + { + break lab4; + } + I_p1 = 3; + } while (false); + // gopast, line 71 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 232))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 71 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 232))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p2, line 71 + I_p2 = cursor; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 75 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 75 + // [, line 77 + bra = cursor; + // substring, line 77 + among_var = find_among(a_1, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 77 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 78 + // <-, line 78 + slice_from("y"); + break; + case 2: + // (, line 79 + // <-, line 79 + slice_from("i"); + break; + case 3: + // (, line 80 + // next, line 80 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_undouble() { + int v_1; + // (, line 90 + // test, line 91 + v_1 = limit - cursor; + // among, line 91 + if (find_among_b(a_2, 3) == 0) + { + return false; + } + cursor = limit - v_1; + // [, line 91 + ket = cursor; + // next, line 91 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 91 + bra = cursor; + // delete, line 91 + slice_del(); + return true; + } + + private boolean r_e_ending() { + int v_1; + // (, line 94 + // unset e_found, line 95 + B_e_found = false; + // [, line 96 + ket = cursor; + // literal, line 96 + if (!(eq_s_b(1, "e"))) + { + return false; + } + // ], line 96 + bra = cursor; + // call R1, line 96 + if (!r_R1()) + { + return false; + } + // test, line 96 + v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + // delete, line 96 + slice_del(); + // set e_found, line 97 + B_e_found = true; + // call undouble, line 98 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_en_ending() { + int v_1; + int v_2; + // (, line 101 + // call R1, line 102 + if (!r_R1()) + { + return false; + } + // and, line 102 + v_1 = limit - cursor; + if (!(out_grouping_b(g_v, 97, 232))) + { + return false; + } + cursor = limit - v_1; + // not, line 102 + { + v_2 = limit - cursor; + lab0: do { + // literal, line 102 + if (!(eq_s_b(3, "gem"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_2; + } + // delete, line 102 + slice_del(); + // call undouble, line 103 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 106 + // do, line 107 + v_1 = limit - cursor; + lab0: do { + // (, line 107 + // [, line 108 + ket = cursor; + // substring, line 108 + among_var = find_among_b(a_3, 5); + if (among_var == 0) + { + break lab0; + } + // ], line 108 + bra = cursor; + switch(among_var) { + case 0: + break lab0; + case 1: + // (, line 110 + // call R1, line 110 + if (!r_R1()) + { + break lab0; + } + // <-, line 110 + slice_from("heid"); + break; + case 2: + // (, line 113 + // call en_ending, line 113 + if (!r_en_ending()) + { + break lab0; + } + break; + case 3: + // (, line 116 + // call R1, line 116 + if (!r_R1()) + { + break lab0; + } + if (!(out_grouping_b(g_v_j, 97, 232))) + { + break lab0; + } + // delete, line 116 + slice_del(); + break; + } + } while (false); + cursor = limit - v_1; + // do, line 120 + v_2 = limit - cursor; + lab1: do { + // call e_ending, line 120 + if (!r_e_ending()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 122 + v_3 = limit - cursor; + lab2: do { + // (, line 122 + // [, line 122 + ket = cursor; + // literal, line 122 + if (!(eq_s_b(4, "heid"))) + { + break lab2; + } + // ], line 122 + bra = cursor; + // call R2, line 122 + if (!r_R2()) + { + break lab2; + } + // not, line 122 + { + v_4 = limit - cursor; + lab3: do { + // literal, line 122 + if (!(eq_s_b(1, "c"))) + { + break lab3; + } + break lab2; + } while (false); + cursor = limit - v_4; + } + // delete, line 122 + slice_del(); + // [, line 123 + ket = cursor; + // literal, line 123 + if (!(eq_s_b(2, "en"))) + { + break lab2; + } + // ], line 123 + bra = cursor; + // call en_ending, line 123 + if (!r_en_ending()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 126 + v_5 = limit - cursor; + lab4: do { + // (, line 126 + // [, line 127 + ket = cursor; + // substring, line 127 + among_var = find_among_b(a_4, 6); + if (among_var == 0) + { + break lab4; + } + // ], line 127 + bra = cursor; + switch(among_var) { + case 0: + break lab4; + case 1: + // (, line 129 + // call R2, line 129 + if (!r_R2()) + { + break lab4; + } + // delete, line 129 + slice_del(); + // or, line 130 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // (, line 130 + // [, line 130 + ket = cursor; + // literal, line 130 + if (!(eq_s_b(2, "ig"))) + { + break lab6; + } + // ], line 130 + bra = cursor; + // call R2, line 130 + if (!r_R2()) + { + break lab6; + } + // not, line 130 + { + v_7 = limit - cursor; + lab7: do { + // literal, line 130 + if (!(eq_s_b(1, "e"))) + { + break lab7; + } + break lab6; + } while (false); + cursor = limit - v_7; + } + // delete, line 130 + slice_del(); + break lab5; + } while (false); + cursor = limit - v_6; + // call undouble, line 130 + if (!r_undouble()) + { + break lab4; + } + } while (false); + break; + case 2: + // (, line 133 + // call R2, line 133 + if (!r_R2()) + { + break lab4; + } + // not, line 133 + { + v_8 = limit - cursor; + lab8: do { + // literal, line 133 + if (!(eq_s_b(1, "e"))) + { + break lab8; + } + break lab4; + } while (false); + cursor = limit - v_8; + } + // delete, line 133 + slice_del(); + break; + case 3: + // (, line 136 + // call R2, line 136 + if (!r_R2()) + { + break lab4; + } + // delete, line 136 + slice_del(); + // call e_ending, line 136 + if (!r_e_ending()) + { + break lab4; + } + break; + case 4: + // (, line 139 + // call R2, line 139 + if (!r_R2()) + { + break lab4; + } + // delete, line 139 + slice_del(); + break; + case 5: + // (, line 142 + // call R2, line 142 + if (!r_R2()) + { + break lab4; + } + // Boolean test e_found, line 142 + if (!(B_e_found)) + { + break lab4; + } + // delete, line 142 + slice_del(); + break; + } + } while (false); + cursor = limit - v_5; + // do, line 146 + v_9 = limit - cursor; + lab9: do { + // (, line 146 + if (!(out_grouping_b(g_v_I, 73, 232))) + { + break lab9; + } + // test, line 148 + v_10 = limit - cursor; + // (, line 148 + // among, line 149 + if (find_among_b(a_5, 4) == 0) + { + break lab9; + } + if (!(out_grouping_b(g_v, 97, 232))) + { + break lab9; + } + cursor = limit - v_10; + // [, line 152 + ket = cursor; + // next, line 152 + if (cursor <= limit_backward) + { + break lab9; + } + cursor--; + // ], line 152 + bra = cursor; + // delete, line 152 + slice_del(); + } while (false); + cursor = limit - v_9; + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 157 + // do, line 159 + v_1 = cursor; + lab0: do { + // call prelude, line 159 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 160 + v_2 = cursor; + lab1: do { + // call mark_regions, line 160 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 161 + limit_backward = cursor; cursor = limit; + // do, line 162 + v_3 = limit - cursor; + lab2: do { + // call standard_suffix, line 162 + if (!r_standard_suffix()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + cursor = limit_backward; // do, line 163 + v_4 = cursor; + lab3: do { + // call postlude, line 163 + if (!r_postlude()) + { + break lab3; + } + } while (false); + cursor = v_4; + return true; + } + + public boolean equals( Object o ) { + return o instanceof dutchStemmer; + } + + public int hashCode() { + return dutchStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/finnishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/finnishStemmer.java new file mode 100755 index 000000000..c41101be7 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/finnishStemmer.java @@ -0,0 +1,1050 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class finnishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static finnishStemmer methodObject = new finnishStemmer (); + + private final static Among a_0[] = { + new Among ( "pa", -1, 1, "", methodObject ), + new Among ( "sti", -1, 2, "", methodObject ), + new Among ( "kaan", -1, 1, "", methodObject ), + new Among ( "han", -1, 1, "", methodObject ), + new Among ( "kin", -1, 1, "", methodObject ), + new Among ( "h\u00E4n", -1, 1, "", methodObject ), + new Among ( "k\u00E4\u00E4n", -1, 1, "", methodObject ), + new Among ( "ko", -1, 1, "", methodObject ), + new Among ( "p\u00E4", -1, 1, "", methodObject ), + new Among ( "k\u00F6", -1, 1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "lla", -1, -1, "", methodObject ), + new Among ( "na", -1, -1, "", methodObject ), + new Among ( "ssa", -1, -1, "", methodObject ), + new Among ( "ta", -1, -1, "", methodObject ), + new Among ( "lta", 3, -1, "", methodObject ), + new Among ( "sta", 3, -1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ll\u00E4", -1, -1, "", methodObject ), + new Among ( "n\u00E4", -1, -1, "", methodObject ), + new Among ( "ss\u00E4", -1, -1, "", methodObject ), + new Among ( "t\u00E4", -1, -1, "", methodObject ), + new Among ( "lt\u00E4", 3, -1, "", methodObject ), + new Among ( "st\u00E4", 3, -1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "lle", -1, -1, "", methodObject ), + new Among ( "ine", -1, -1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "nsa", -1, 3, "", methodObject ), + new Among ( "mme", -1, 3, "", methodObject ), + new Among ( "nne", -1, 3, "", methodObject ), + new Among ( "ni", -1, 2, "", methodObject ), + new Among ( "si", -1, 1, "", methodObject ), + new Among ( "an", -1, 4, "", methodObject ), + new Among ( "en", -1, 6, "", methodObject ), + new Among ( "\u00E4n", -1, 5, "", methodObject ), + new Among ( "ns\u00E4", -1, 3, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "aa", -1, -1, "", methodObject ), + new Among ( "ee", -1, -1, "", methodObject ), + new Among ( "ii", -1, -1, "", methodObject ), + new Among ( "oo", -1, -1, "", methodObject ), + new Among ( "uu", -1, -1, "", methodObject ), + new Among ( "\u00E4\u00E4", -1, -1, "", methodObject ), + new Among ( "\u00F6\u00F6", -1, -1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "a", -1, 8, "", methodObject ), + new Among ( "lla", 0, -1, "", methodObject ), + new Among ( "na", 0, -1, "", methodObject ), + new Among ( "ssa", 0, -1, "", methodObject ), + new Among ( "ta", 0, -1, "", methodObject ), + new Among ( "lta", 4, -1, "", methodObject ), + new Among ( "sta", 4, -1, "", methodObject ), + new Among ( "tta", 4, 9, "", methodObject ), + new Among ( "lle", -1, -1, "", methodObject ), + new Among ( "ine", -1, -1, "", methodObject ), + new Among ( "ksi", -1, -1, "", methodObject ), + new Among ( "n", -1, 7, "", methodObject ), + new Among ( "han", 11, 1, "", methodObject ), + new Among ( "den", 11, -1, "r_VI", methodObject ), + new Among ( "seen", 11, -1, "r_LONG", methodObject ), + new Among ( "hen", 11, 2, "", methodObject ), + new Among ( "tten", 11, -1, "r_VI", methodObject ), + new Among ( "hin", 11, 3, "", methodObject ), + new Among ( "siin", 11, -1, "r_VI", methodObject ), + new Among ( "hon", 11, 4, "", methodObject ), + new Among ( "h\u00E4n", 11, 5, "", methodObject ), + new Among ( "h\u00F6n", 11, 6, "", methodObject ), + new Among ( "\u00E4", -1, 8, "", methodObject ), + new Among ( "ll\u00E4", 22, -1, "", methodObject ), + new Among ( "n\u00E4", 22, -1, "", methodObject ), + new Among ( "ss\u00E4", 22, -1, "", methodObject ), + new Among ( "t\u00E4", 22, -1, "", methodObject ), + new Among ( "lt\u00E4", 26, -1, "", methodObject ), + new Among ( "st\u00E4", 26, -1, "", methodObject ), + new Among ( "tt\u00E4", 26, 9, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "eja", -1, -1, "", methodObject ), + new Among ( "mma", -1, 1, "", methodObject ), + new Among ( "imma", 1, -1, "", methodObject ), + new Among ( "mpa", -1, 1, "", methodObject ), + new Among ( "impa", 3, -1, "", methodObject ), + new Among ( "mmi", -1, 1, "", methodObject ), + new Among ( "immi", 5, -1, "", methodObject ), + new Among ( "mpi", -1, 1, "", methodObject ), + new Among ( "impi", 7, -1, "", methodObject ), + new Among ( "ej\u00E4", -1, -1, "", methodObject ), + new Among ( "mm\u00E4", -1, 1, "", methodObject ), + new Among ( "imm\u00E4", 10, -1, "", methodObject ), + new Among ( "mp\u00E4", -1, 1, "", methodObject ), + new Among ( "imp\u00E4", 12, -1, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "i", -1, -1, "", methodObject ), + new Among ( "j", -1, -1, "", methodObject ) + }; + + private final static Among a_9[] = { + new Among ( "mma", -1, 1, "", methodObject ), + new Among ( "imma", 0, -1, "", methodObject ) + }; + + private static final char g_AEI[] = {17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 }; + + private static final char g_V1[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; + + private static final char g_V2[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; + + private static final char g_particle_end[] = {17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 }; + + private boolean B_ending_removed; + private java.lang.StringBuilder S_x = new java.lang.StringBuilder(); + private int I_p2; + private int I_p1; + + private void copy_from(finnishStemmer other) { + B_ending_removed = other.B_ending_removed; + S_x = other.S_x; + I_p2 = other.I_p2; + I_p1 = other.I_p1; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + int v_3; + // (, line 41 + I_p1 = limit; + I_p2 = limit; + // goto, line 46 + golab0: while(true) + { + v_1 = cursor; + lab1: do { + if (!(in_grouping(g_V1, 97, 246))) + { + break lab1; + } + cursor = v_1; + break golab0; + } while (false); + cursor = v_1; + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 46 + golab2: while(true) + { + lab3: do { + if (!(out_grouping(g_V1, 97, 246))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p1, line 46 + I_p1 = cursor; + // goto, line 47 + golab4: while(true) + { + v_3 = cursor; + lab5: do { + if (!(in_grouping(g_V1, 97, 246))) + { + break lab5; + } + cursor = v_3; + break golab4; + } while (false); + cursor = v_3; + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 47 + golab6: while(true) + { + lab7: do { + if (!(out_grouping(g_V1, 97, 246))) + { + break lab7; + } + break golab6; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p2, line 47 + I_p2 = cursor; + return true; + } + + private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_particle_etc() { + int among_var; + int v_1; + int v_2; + // (, line 54 + // setlimit, line 55 + v_1 = limit - cursor; + // tomark, line 55 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 55 + // [, line 55 + ket = cursor; + // substring, line 55 + among_var = find_among_b(a_0, 10); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 55 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 62 + if (!(in_grouping_b(g_particle_end, 97, 246))) + { + return false; + } + break; + case 2: + // (, line 64 + // call R2, line 64 + if (!r_R2()) + { + return false; + } + break; + } + // delete, line 66 + slice_del(); + return true; + } + + private boolean r_possessive() { + int among_var; + int v_1; + int v_2; + int v_3; + // (, line 68 + // setlimit, line 69 + v_1 = limit - cursor; + // tomark, line 69 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 69 + // [, line 69 + ket = cursor; + // substring, line 69 + among_var = find_among_b(a_4, 9); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 69 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 72 + // not, line 72 + { + v_3 = limit - cursor; + lab0: do { + // literal, line 72 + if (!(eq_s_b(1, "k"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_3; + } + // delete, line 72 + slice_del(); + break; + case 2: + // (, line 74 + // delete, line 74 + slice_del(); + // [, line 74 + ket = cursor; + // literal, line 74 + if (!(eq_s_b(3, "kse"))) + { + return false; + } + // ], line 74 + bra = cursor; + // <-, line 74 + slice_from("ksi"); + break; + case 3: + // (, line 78 + // delete, line 78 + slice_del(); + break; + case 4: + // (, line 81 + // among, line 81 + if (find_among_b(a_1, 6) == 0) + { + return false; + } + // delete, line 81 + slice_del(); + break; + case 5: + // (, line 83 + // among, line 83 + if (find_among_b(a_2, 6) == 0) + { + return false; + } + // delete, line 84 + slice_del(); + break; + case 6: + // (, line 86 + // among, line 86 + if (find_among_b(a_3, 2) == 0) + { + return false; + } + // delete, line 86 + slice_del(); + break; + } + return true; + } + + private boolean r_LONG() { + // among, line 91 + if (find_among_b(a_5, 7) == 0) + { + return false; + } + return true; + } + + private boolean r_VI() { + // (, line 93 + // literal, line 93 + if (!(eq_s_b(1, "i"))) + { + return false; + } + if (!(in_grouping_b(g_V2, 97, 246))) + { + return false; + } + return true; + } + + private boolean r_case_ending() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 95 + // setlimit, line 96 + v_1 = limit - cursor; + // tomark, line 96 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 96 + // [, line 96 + ket = cursor; + // substring, line 96 + among_var = find_among_b(a_6, 30); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 96 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 98 + // literal, line 98 + if (!(eq_s_b(1, "a"))) + { + return false; + } + break; + case 2: + // (, line 99 + // literal, line 99 + if (!(eq_s_b(1, "e"))) + { + return false; + } + break; + case 3: + // (, line 100 + // literal, line 100 + if (!(eq_s_b(1, "i"))) + { + return false; + } + break; + case 4: + // (, line 101 + // literal, line 101 + if (!(eq_s_b(1, "o"))) + { + return false; + } + break; + case 5: + // (, line 102 + // literal, line 102 + if (!(eq_s_b(1, "\u00E4"))) + { + return false; + } + break; + case 6: + // (, line 103 + // literal, line 103 + if (!(eq_s_b(1, "\u00F6"))) + { + return false; + } + break; + case 7: + // (, line 111 + // try, line 111 + v_3 = limit - cursor; + lab0: do { + // (, line 111 + // and, line 113 + v_4 = limit - cursor; + // or, line 112 + lab1: do { + v_5 = limit - cursor; + lab2: do { + // call LONG, line 111 + if (!r_LONG()) + { + break lab2; + } + break lab1; + } while (false); + cursor = limit - v_5; + // literal, line 112 + if (!(eq_s_b(2, "ie"))) + { + cursor = limit - v_3; + break lab0; + } + } while (false); + cursor = limit - v_4; + // next, line 113 + if (cursor <= limit_backward) + { + cursor = limit - v_3; + break lab0; + } + cursor--; + // ], line 113 + bra = cursor; + } while (false); + break; + case 8: + // (, line 119 + if (!(in_grouping_b(g_V1, 97, 246))) + { + return false; + } + if (!(out_grouping_b(g_V1, 97, 246))) + { + return false; + } + break; + case 9: + // (, line 121 + // literal, line 121 + if (!(eq_s_b(1, "e"))) + { + return false; + } + break; + } + // delete, line 138 + slice_del(); + // set ending_removed, line 139 + B_ending_removed = true; + return true; + } + + private boolean r_other_endings() { + int among_var; + int v_1; + int v_2; + int v_3; + // (, line 141 + // setlimit, line 142 + v_1 = limit - cursor; + // tomark, line 142 + if (cursor < I_p2) + { + return false; + } + cursor = I_p2; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 142 + // [, line 142 + ket = cursor; + // substring, line 142 + among_var = find_among_b(a_7, 14); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 142 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 146 + // not, line 146 + { + v_3 = limit - cursor; + lab0: do { + // literal, line 146 + if (!(eq_s_b(2, "po"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_3; + } + break; + } + // delete, line 151 + slice_del(); + return true; + } + + private boolean r_i_plural() { + int v_1; + int v_2; + // (, line 153 + // setlimit, line 154 + v_1 = limit - cursor; + // tomark, line 154 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 154 + // [, line 154 + ket = cursor; + // substring, line 154 + if (find_among_b(a_8, 2) == 0) + { + limit_backward = v_2; + return false; + } + // ], line 154 + bra = cursor; + limit_backward = v_2; + // delete, line 158 + slice_del(); + return true; + } + + private boolean r_t_plural() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + // (, line 160 + // setlimit, line 161 + v_1 = limit - cursor; + // tomark, line 161 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 161 + // [, line 162 + ket = cursor; + // literal, line 162 + if (!(eq_s_b(1, "t"))) + { + limit_backward = v_2; + return false; + } + // ], line 162 + bra = cursor; + // test, line 162 + v_3 = limit - cursor; + if (!(in_grouping_b(g_V1, 97, 246))) + { + limit_backward = v_2; + return false; + } + cursor = limit - v_3; + // delete, line 163 + slice_del(); + limit_backward = v_2; + // setlimit, line 165 + v_4 = limit - cursor; + // tomark, line 165 + if (cursor < I_p2) + { + return false; + } + cursor = I_p2; + v_5 = limit_backward; + limit_backward = cursor; + cursor = limit - v_4; + // (, line 165 + // [, line 165 + ket = cursor; + // substring, line 165 + among_var = find_among_b(a_9, 2); + if (among_var == 0) + { + limit_backward = v_5; + return false; + } + // ], line 165 + bra = cursor; + limit_backward = v_5; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 167 + // not, line 167 + { + v_6 = limit - cursor; + lab0: do { + // literal, line 167 + if (!(eq_s_b(2, "po"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_6; + } + break; + } + // delete, line 170 + slice_del(); + return true; + } + + private boolean r_tidy() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + // (, line 172 + // setlimit, line 173 + v_1 = limit - cursor; + // tomark, line 173 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 173 + // do, line 174 + v_3 = limit - cursor; + lab0: do { + // (, line 174 + // and, line 174 + v_4 = limit - cursor; + // call LONG, line 174 + if (!r_LONG()) + { + break lab0; + } + cursor = limit - v_4; + // (, line 174 + // [, line 174 + ket = cursor; + // next, line 174 + if (cursor <= limit_backward) + { + break lab0; + } + cursor--; + // ], line 174 + bra = cursor; + // delete, line 174 + slice_del(); + } while (false); + cursor = limit - v_3; + // do, line 175 + v_5 = limit - cursor; + lab1: do { + // (, line 175 + // [, line 175 + ket = cursor; + if (!(in_grouping_b(g_AEI, 97, 228))) + { + break lab1; + } + // ], line 175 + bra = cursor; + if (!(out_grouping_b(g_V1, 97, 246))) + { + break lab1; + } + // delete, line 175 + slice_del(); + } while (false); + cursor = limit - v_5; + // do, line 176 + v_6 = limit - cursor; + lab2: do { + // (, line 176 + // [, line 176 + ket = cursor; + // literal, line 176 + if (!(eq_s_b(1, "j"))) + { + break lab2; + } + // ], line 176 + bra = cursor; + // or, line 176 + lab3: do { + v_7 = limit - cursor; + lab4: do { + // literal, line 176 + if (!(eq_s_b(1, "o"))) + { + break lab4; + } + break lab3; + } while (false); + cursor = limit - v_7; + // literal, line 176 + if (!(eq_s_b(1, "u"))) + { + break lab2; + } + } while (false); + // delete, line 176 + slice_del(); + } while (false); + cursor = limit - v_6; + // do, line 177 + v_8 = limit - cursor; + lab5: do { + // (, line 177 + // [, line 177 + ket = cursor; + // literal, line 177 + if (!(eq_s_b(1, "o"))) + { + break lab5; + } + // ], line 177 + bra = cursor; + // literal, line 177 + if (!(eq_s_b(1, "j"))) + { + break lab5; + } + // delete, line 177 + slice_del(); + } while (false); + cursor = limit - v_8; + limit_backward = v_2; + // goto, line 179 + golab6: while(true) + { + v_9 = limit - cursor; + lab7: do { + if (!(out_grouping_b(g_V1, 97, 246))) + { + break lab7; + } + cursor = limit - v_9; + break golab6; + } while (false); + cursor = limit - v_9; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + // [, line 179 + ket = cursor; + // next, line 179 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 179 + bra = cursor; + // -> x, line 179 + S_x = slice_to(S_x); + // name x, line 179 + if (!(eq_v_b(S_x))) + { + return false; + } + // delete, line 179 + slice_del(); + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + // (, line 183 + // do, line 185 + v_1 = cursor; + lab0: do { + // call mark_regions, line 185 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // unset ending_removed, line 186 + B_ending_removed = false; + // backwards, line 187 + limit_backward = cursor; cursor = limit; + // (, line 187 + // do, line 188 + v_2 = limit - cursor; + lab1: do { + // call particle_etc, line 188 + if (!r_particle_etc()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 189 + v_3 = limit - cursor; + lab2: do { + // call possessive, line 189 + if (!r_possessive()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 190 + v_4 = limit - cursor; + lab3: do { + // call case_ending, line 190 + if (!r_case_ending()) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + // do, line 191 + v_5 = limit - cursor; + lab4: do { + // call other_endings, line 191 + if (!r_other_endings()) + { + break lab4; + } + } while (false); + cursor = limit - v_5; + // or, line 192 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // (, line 192 + // Boolean test ending_removed, line 192 + if (!(B_ending_removed)) + { + break lab6; + } + // do, line 192 + v_7 = limit - cursor; + lab7: do { + // call i_plural, line 192 + if (!r_i_plural()) + { + break lab7; + } + } while (false); + cursor = limit - v_7; + break lab5; + } while (false); + cursor = limit - v_6; + // do, line 192 + v_8 = limit - cursor; + lab8: do { + // call t_plural, line 192 + if (!r_t_plural()) + { + break lab8; + } + } while (false); + cursor = limit - v_8; + } while (false); + // do, line 193 + v_9 = limit - cursor; + lab9: do { + // call tidy, line 193 + if (!r_tidy()) + { + break lab9; + } + } while (false); + cursor = limit - v_9; + cursor = limit_backward; return true; + } + + public boolean equals( Object o ) { + return o instanceof finnishStemmer; + } + + public int hashCode() { + return finnishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/frenchStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/frenchStemmer.java new file mode 100755 index 000000000..f60770ed2 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/frenchStemmer.java @@ -0,0 +1,1520 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class frenchStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static frenchStemmer methodObject = new frenchStemmer (); + + private final static Among a_0[] = { + new Among ( "col", -1, -1, "", methodObject ), + new Among ( "par", -1, -1, "", methodObject ), + new Among ( "tap", -1, -1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "", -1, 4, "", methodObject ), + new Among ( "I", 0, 1, "", methodObject ), + new Among ( "U", 0, 2, "", methodObject ), + new Among ( "Y", 0, 3, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "iqU", -1, 3, "", methodObject ), + new Among ( "abl", -1, 3, "", methodObject ), + new Among ( "I\u00E8r", -1, 4, "", methodObject ), + new Among ( "i\u00E8r", -1, 4, "", methodObject ), + new Among ( "eus", -1, 2, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ic", -1, 2, "", methodObject ), + new Among ( "abil", -1, 1, "", methodObject ), + new Among ( "iv", -1, 3, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "iqUe", -1, 1, "", methodObject ), + new Among ( "atrice", -1, 2, "", methodObject ), + new Among ( "ance", -1, 1, "", methodObject ), + new Among ( "ence", -1, 5, "", methodObject ), + new Among ( "logie", -1, 3, "", methodObject ), + new Among ( "able", -1, 1, "", methodObject ), + new Among ( "isme", -1, 1, "", methodObject ), + new Among ( "euse", -1, 11, "", methodObject ), + new Among ( "iste", -1, 1, "", methodObject ), + new Among ( "ive", -1, 8, "", methodObject ), + new Among ( "if", -1, 8, "", methodObject ), + new Among ( "usion", -1, 4, "", methodObject ), + new Among ( "ation", -1, 2, "", methodObject ), + new Among ( "ution", -1, 4, "", methodObject ), + new Among ( "ateur", -1, 2, "", methodObject ), + new Among ( "iqUes", -1, 1, "", methodObject ), + new Among ( "atrices", -1, 2, "", methodObject ), + new Among ( "ances", -1, 1, "", methodObject ), + new Among ( "ences", -1, 5, "", methodObject ), + new Among ( "logies", -1, 3, "", methodObject ), + new Among ( "ables", -1, 1, "", methodObject ), + new Among ( "ismes", -1, 1, "", methodObject ), + new Among ( "euses", -1, 11, "", methodObject ), + new Among ( "istes", -1, 1, "", methodObject ), + new Among ( "ives", -1, 8, "", methodObject ), + new Among ( "ifs", -1, 8, "", methodObject ), + new Among ( "usions", -1, 4, "", methodObject ), + new Among ( "ations", -1, 2, "", methodObject ), + new Among ( "utions", -1, 4, "", methodObject ), + new Among ( "ateurs", -1, 2, "", methodObject ), + new Among ( "ments", -1, 15, "", methodObject ), + new Among ( "ements", 30, 6, "", methodObject ), + new Among ( "issements", 31, 12, "", methodObject ), + new Among ( "it\u00E9s", -1, 7, "", methodObject ), + new Among ( "ment", -1, 15, "", methodObject ), + new Among ( "ement", 34, 6, "", methodObject ), + new Among ( "issement", 35, 12, "", methodObject ), + new Among ( "amment", 34, 13, "", methodObject ), + new Among ( "emment", 34, 14, "", methodObject ), + new Among ( "aux", -1, 10, "", methodObject ), + new Among ( "eaux", 39, 9, "", methodObject ), + new Among ( "eux", -1, 1, "", methodObject ), + new Among ( "it\u00E9", -1, 7, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "ira", -1, 1, "", methodObject ), + new Among ( "ie", -1, 1, "", methodObject ), + new Among ( "isse", -1, 1, "", methodObject ), + new Among ( "issante", -1, 1, "", methodObject ), + new Among ( "i", -1, 1, "", methodObject ), + new Among ( "irai", 4, 1, "", methodObject ), + new Among ( "ir", -1, 1, "", methodObject ), + new Among ( "iras", -1, 1, "", methodObject ), + new Among ( "ies", -1, 1, "", methodObject ), + new Among ( "\u00EEmes", -1, 1, "", methodObject ), + new Among ( "isses", -1, 1, "", methodObject ), + new Among ( "issantes", -1, 1, "", methodObject ), + new Among ( "\u00EEtes", -1, 1, "", methodObject ), + new Among ( "is", -1, 1, "", methodObject ), + new Among ( "irais", 13, 1, "", methodObject ), + new Among ( "issais", 13, 1, "", methodObject ), + new Among ( "irions", -1, 1, "", methodObject ), + new Among ( "issions", -1, 1, "", methodObject ), + new Among ( "irons", -1, 1, "", methodObject ), + new Among ( "issons", -1, 1, "", methodObject ), + new Among ( "issants", -1, 1, "", methodObject ), + new Among ( "it", -1, 1, "", methodObject ), + new Among ( "irait", 21, 1, "", methodObject ), + new Among ( "issait", 21, 1, "", methodObject ), + new Among ( "issant", -1, 1, "", methodObject ), + new Among ( "iraIent", -1, 1, "", methodObject ), + new Among ( "issaIent", -1, 1, "", methodObject ), + new Among ( "irent", -1, 1, "", methodObject ), + new Among ( "issent", -1, 1, "", methodObject ), + new Among ( "iront", -1, 1, "", methodObject ), + new Among ( "\u00EEt", -1, 1, "", methodObject ), + new Among ( "iriez", -1, 1, "", methodObject ), + new Among ( "issiez", -1, 1, "", methodObject ), + new Among ( "irez", -1, 1, "", methodObject ), + new Among ( "issez", -1, 1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "a", -1, 3, "", methodObject ), + new Among ( "era", 0, 2, "", methodObject ), + new Among ( "asse", -1, 3, "", methodObject ), + new Among ( "ante", -1, 3, "", methodObject ), + new Among ( "\u00E9e", -1, 2, "", methodObject ), + new Among ( "ai", -1, 3, "", methodObject ), + new Among ( "erai", 5, 2, "", methodObject ), + new Among ( "er", -1, 2, "", methodObject ), + new Among ( "as", -1, 3, "", methodObject ), + new Among ( "eras", 8, 2, "", methodObject ), + new Among ( "\u00E2mes", -1, 3, "", methodObject ), + new Among ( "asses", -1, 3, "", methodObject ), + new Among ( "antes", -1, 3, "", methodObject ), + new Among ( "\u00E2tes", -1, 3, "", methodObject ), + new Among ( "\u00E9es", -1, 2, "", methodObject ), + new Among ( "ais", -1, 3, "", methodObject ), + new Among ( "erais", 15, 2, "", methodObject ), + new Among ( "ions", -1, 1, "", methodObject ), + new Among ( "erions", 17, 2, "", methodObject ), + new Among ( "assions", 17, 3, "", methodObject ), + new Among ( "erons", -1, 2, "", methodObject ), + new Among ( "ants", -1, 3, "", methodObject ), + new Among ( "\u00E9s", -1, 2, "", methodObject ), + new Among ( "ait", -1, 3, "", methodObject ), + new Among ( "erait", 23, 2, "", methodObject ), + new Among ( "ant", -1, 3, "", methodObject ), + new Among ( "aIent", -1, 3, "", methodObject ), + new Among ( "eraIent", 26, 2, "", methodObject ), + new Among ( "\u00E8rent", -1, 2, "", methodObject ), + new Among ( "assent", -1, 3, "", methodObject ), + new Among ( "eront", -1, 2, "", methodObject ), + new Among ( "\u00E2t", -1, 3, "", methodObject ), + new Among ( "ez", -1, 2, "", methodObject ), + new Among ( "iez", 32, 2, "", methodObject ), + new Among ( "eriez", 33, 2, "", methodObject ), + new Among ( "assiez", 33, 3, "", methodObject ), + new Among ( "erez", 32, 2, "", methodObject ), + new Among ( "\u00E9", -1, 2, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "e", -1, 3, "", methodObject ), + new Among ( "I\u00E8re", 0, 2, "", methodObject ), + new Among ( "i\u00E8re", 0, 2, "", methodObject ), + new Among ( "ion", -1, 1, "", methodObject ), + new Among ( "Ier", -1, 2, "", methodObject ), + new Among ( "ier", -1, 2, "", methodObject ), + new Among ( "\u00EB", -1, 4, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "ell", -1, -1, "", methodObject ), + new Among ( "eill", -1, -1, "", methodObject ), + new Among ( "enn", -1, -1, "", methodObject ), + new Among ( "onn", -1, -1, "", methodObject ), + new Among ( "ett", -1, -1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 }; + + private static final char g_keep_with_s[] = {1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; + + private int I_p2; + private int I_p1; + private int I_pV; + + private void copy_from(frenchStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_prelude() { + int v_1; + int v_2; + int v_3; + int v_4; + // repeat, line 38 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // goto, line 38 + golab2: while(true) + { + v_2 = cursor; + lab3: do { + // (, line 38 + // or, line 44 + lab4: do { + v_3 = cursor; + lab5: do { + // (, line 40 + if (!(in_grouping(g_v, 97, 251))) + { + break lab5; + } + // [, line 40 + bra = cursor; + // or, line 40 + lab6: do { + v_4 = cursor; + lab7: do { + // (, line 40 + // literal, line 40 + if (!(eq_s(1, "u"))) + { + break lab7; + } + // ], line 40 + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab7; + } + // <-, line 40 + slice_from("U"); + break lab6; + } while (false); + cursor = v_4; + lab8: do { + // (, line 41 + // literal, line 41 + if (!(eq_s(1, "i"))) + { + break lab8; + } + // ], line 41 + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab8; + } + // <-, line 41 + slice_from("I"); + break lab6; + } while (false); + cursor = v_4; + // (, line 42 + // literal, line 42 + if (!(eq_s(1, "y"))) + { + break lab5; + } + // ], line 42 + ket = cursor; + // <-, line 42 + slice_from("Y"); + } while (false); + break lab4; + } while (false); + cursor = v_3; + lab9: do { + // (, line 45 + // [, line 45 + bra = cursor; + // literal, line 45 + if (!(eq_s(1, "y"))) + { + break lab9; + } + // ], line 45 + ket = cursor; + if (!(in_grouping(g_v, 97, 251))) + { + break lab9; + } + // <-, line 45 + slice_from("Y"); + break lab4; + } while (false); + cursor = v_3; + // (, line 47 + // literal, line 47 + if (!(eq_s(1, "q"))) + { + break lab3; + } + // [, line 47 + bra = cursor; + // literal, line 47 + if (!(eq_s(1, "u"))) + { + break lab3; + } + // ], line 47 + ket = cursor; + // <-, line 47 + slice_from("U"); + } while (false); + cursor = v_2; + break golab2; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_4; + // (, line 50 + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + // do, line 56 + v_1 = cursor; + lab0: do { + // (, line 56 + // or, line 58 + lab1: do { + v_2 = cursor; + lab2: do { + // (, line 57 + if (!(in_grouping(g_v, 97, 251))) + { + break lab2; + } + if (!(in_grouping(g_v, 97, 251))) + { + break lab2; + } + // next, line 57 + if (cursor >= limit) + { + break lab2; + } + cursor++; + break lab1; + } while (false); + cursor = v_2; + lab3: do { + // among, line 59 + if (find_among(a_0, 3) == 0) + { + break lab3; + } + break lab1; + } while (false); + cursor = v_2; + // (, line 66 + // next, line 66 + if (cursor >= limit) + { + break lab0; + } + cursor++; + // gopast, line 66 + golab4: while(true) + { + lab5: do { + if (!(in_grouping(g_v, 97, 251))) + { + break lab5; + } + break golab4; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + } while (false); + // setmark pV, line 67 + I_pV = cursor; + } while (false); + cursor = v_1; + // do, line 69 + v_4 = cursor; + lab6: do { + // (, line 69 + // gopast, line 70 + golab7: while(true) + { + lab8: do { + if (!(in_grouping(g_v, 97, 251))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + // gopast, line 70 + golab9: while(true) + { + lab10: do { + if (!(out_grouping(g_v, 97, 251))) + { + break lab10; + } + break golab9; + } while (false); + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + // setmark p1, line 70 + I_p1 = cursor; + // gopast, line 71 + golab11: while(true) + { + lab12: do { + if (!(in_grouping(g_v, 97, 251))) + { + break lab12; + } + break golab11; + } while (false); + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + // gopast, line 71 + golab13: while(true) + { + lab14: do { + if (!(out_grouping(g_v, 97, 251))) + { + break lab14; + } + break golab13; + } while (false); + if (cursor >= limit) + { + break lab6; + } + cursor++; + } + // setmark p2, line 71 + I_p2 = cursor; + } while (false); + cursor = v_4; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 75 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 75 + // [, line 77 + bra = cursor; + // substring, line 77 + among_var = find_among(a_1, 4); + if (among_var == 0) + { + break lab1; + } + // ], line 77 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 78 + // <-, line 78 + slice_from("i"); + break; + case 2: + // (, line 79 + // <-, line 79 + slice_from("u"); + break; + case 3: + // (, line 80 + // <-, line 80 + slice_from("y"); + break; + case 4: + // (, line 81 + // next, line 81 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_RV() { + if (!(I_pV <= 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_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + // (, line 91 + // [, line 92 + ket = cursor; + // substring, line 92 + among_var = find_among_b(a_4, 43); + if (among_var == 0) + { + return false; + } + // ], line 92 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 96 + // call R2, line 96 + if (!r_R2()) + { + return false; + } + // delete, line 96 + slice_del(); + break; + case 2: + // (, line 99 + // call R2, line 99 + if (!r_R2()) + { + return false; + } + // delete, line 99 + slice_del(); + // try, line 100 + v_1 = limit - cursor; + lab0: do { + // (, line 100 + // [, line 100 + ket = cursor; + // literal, line 100 + if (!(eq_s_b(2, "ic"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 100 + bra = cursor; + // or, line 100 + lab1: do { + v_2 = limit - cursor; + lab2: do { + // (, line 100 + // call R2, line 100 + if (!r_R2()) + { + break lab2; + } + // delete, line 100 + slice_del(); + break lab1; + } while (false); + cursor = limit - v_2; + // <-, line 100 + slice_from("iqU"); + } while (false); + } while (false); + break; + case 3: + // (, line 104 + // call R2, line 104 + if (!r_R2()) + { + return false; + } + // <-, line 104 + slice_from("log"); + break; + case 4: + // (, line 107 + // call R2, line 107 + if (!r_R2()) + { + return false; + } + // <-, line 107 + slice_from("u"); + break; + case 5: + // (, line 110 + // call R2, line 110 + if (!r_R2()) + { + return false; + } + // <-, line 110 + slice_from("ent"); + break; + case 6: + // (, line 113 + // call RV, line 114 + if (!r_RV()) + { + return false; + } + // delete, line 114 + slice_del(); + // try, line 115 + v_3 = limit - cursor; + lab3: do { + // (, line 115 + // [, line 116 + ket = cursor; + // substring, line 116 + among_var = find_among_b(a_2, 6); + if (among_var == 0) + { + cursor = limit - v_3; + break lab3; + } + // ], line 116 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_3; + break lab3; + case 1: + // (, line 117 + // call R2, line 117 + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + // delete, line 117 + slice_del(); + // [, line 117 + ket = cursor; + // literal, line 117 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_3; + break lab3; + } + // ], line 117 + bra = cursor; + // call R2, line 117 + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + // delete, line 117 + slice_del(); + break; + case 2: + // (, line 118 + // or, line 118 + lab4: do { + v_4 = limit - cursor; + lab5: do { + // (, line 118 + // call R2, line 118 + if (!r_R2()) + { + break lab5; + } + // delete, line 118 + slice_del(); + break lab4; + } while (false); + cursor = limit - v_4; + // (, line 118 + // call R1, line 118 + if (!r_R1()) + { + cursor = limit - v_3; + break lab3; + } + // <-, line 118 + slice_from("eux"); + } while (false); + break; + case 3: + // (, line 120 + // call R2, line 120 + if (!r_R2()) + { + cursor = limit - v_3; + break lab3; + } + // delete, line 120 + slice_del(); + break; + case 4: + // (, line 122 + // call RV, line 122 + if (!r_RV()) + { + cursor = limit - v_3; + break lab3; + } + // <-, line 122 + slice_from("i"); + break; + } + } while (false); + break; + case 7: + // (, line 128 + // call R2, line 129 + if (!r_R2()) + { + return false; + } + // delete, line 129 + slice_del(); + // try, line 130 + v_5 = limit - cursor; + lab6: do { + // (, line 130 + // [, line 131 + ket = cursor; + // substring, line 131 + among_var = find_among_b(a_3, 3); + if (among_var == 0) + { + cursor = limit - v_5; + break lab6; + } + // ], line 131 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_5; + break lab6; + case 1: + // (, line 132 + // or, line 132 + lab7: do { + v_6 = limit - cursor; + lab8: do { + // (, line 132 + // call R2, line 132 + if (!r_R2()) + { + break lab8; + } + // delete, line 132 + slice_del(); + break lab7; + } while (false); + cursor = limit - v_6; + // <-, line 132 + slice_from("abl"); + } while (false); + break; + case 2: + // (, line 133 + // or, line 133 + lab9: do { + v_7 = limit - cursor; + lab10: do { + // (, line 133 + // call R2, line 133 + if (!r_R2()) + { + break lab10; + } + // delete, line 133 + slice_del(); + break lab9; + } while (false); + cursor = limit - v_7; + // <-, line 133 + slice_from("iqU"); + } while (false); + break; + case 3: + // (, line 134 + // call R2, line 134 + if (!r_R2()) + { + cursor = limit - v_5; + break lab6; + } + // delete, line 134 + slice_del(); + break; + } + } while (false); + break; + case 8: + // (, line 140 + // call R2, line 141 + if (!r_R2()) + { + return false; + } + // delete, line 141 + slice_del(); + // try, line 142 + v_8 = limit - cursor; + lab11: do { + // (, line 142 + // [, line 142 + ket = cursor; + // literal, line 142 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_8; + break lab11; + } + // ], line 142 + bra = cursor; + // call R2, line 142 + if (!r_R2()) + { + cursor = limit - v_8; + break lab11; + } + // delete, line 142 + slice_del(); + // [, line 142 + ket = cursor; + // literal, line 142 + if (!(eq_s_b(2, "ic"))) + { + cursor = limit - v_8; + break lab11; + } + // ], line 142 + bra = cursor; + // or, line 142 + lab12: do { + v_9 = limit - cursor; + lab13: do { + // (, line 142 + // call R2, line 142 + if (!r_R2()) + { + break lab13; + } + // delete, line 142 + slice_del(); + break lab12; + } while (false); + cursor = limit - v_9; + // <-, line 142 + slice_from("iqU"); + } while (false); + } while (false); + break; + case 9: + // (, line 144 + // <-, line 144 + slice_from("eau"); + break; + case 10: + // (, line 145 + // call R1, line 145 + if (!r_R1()) + { + return false; + } + // <-, line 145 + slice_from("al"); + break; + case 11: + // (, line 147 + // or, line 147 + lab14: do { + v_10 = limit - cursor; + lab15: do { + // (, line 147 + // call R2, line 147 + if (!r_R2()) + { + break lab15; + } + // delete, line 147 + slice_del(); + break lab14; + } while (false); + cursor = limit - v_10; + // (, line 147 + // call R1, line 147 + if (!r_R1()) + { + return false; + } + // <-, line 147 + slice_from("eux"); + } while (false); + break; + case 12: + // (, line 150 + // call R1, line 150 + if (!r_R1()) + { + return false; + } + if (!(out_grouping_b(g_v, 97, 251))) + { + return false; + } + // delete, line 150 + slice_del(); + break; + case 13: + // (, line 155 + // call RV, line 155 + if (!r_RV()) + { + return false; + } + // fail, line 155 + // (, line 155 + // <-, line 155 + slice_from("ant"); + return false; +// break; + case 14: + // (, line 156 + // call RV, line 156 + if (!r_RV()) + { + return false; + } + // fail, line 156 + // (, line 156 + // <-, line 156 + slice_from("ent"); + return false; +// break; + case 15: + // (, line 158 + // test, line 158 + v_11 = limit - cursor; + // (, line 158 + if (!(in_grouping_b(g_v, 97, 251))) + { + return false; + } + // call RV, line 158 + if (!r_RV()) + { + return false; + } + cursor = limit - v_11; + // fail, line 158 + // (, line 158 + // delete, line 158 + slice_del(); + return false; +// break; + } + return true; + } + + private boolean r_i_verb_suffix() { + int among_var; + int v_1; + int v_2; + // setlimit, line 163 + v_1 = limit - cursor; + // tomark, line 163 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 163 + // [, line 164 + ket = cursor; + // substring, line 164 + among_var = find_among_b(a_5, 35); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 164 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 170 + if (!(out_grouping_b(g_v, 97, 251))) + { + limit_backward = v_2; + return false; + } + // delete, line 170 + slice_del(); + break; + } + limit_backward = v_2; + return true; + } + + private boolean r_verb_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + // setlimit, line 174 + v_1 = limit - cursor; + // tomark, line 174 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 174 + // [, line 175 + ket = cursor; + // substring, line 175 + among_var = find_among_b(a_6, 38); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 175 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 177 + // call R2, line 177 + if (!r_R2()) + { + limit_backward = v_2; + return false; + } + // delete, line 177 + slice_del(); + break; + case 2: + // (, line 185 + // delete, line 185 + slice_del(); + break; + case 3: + // (, line 190 + // delete, line 190 + slice_del(); + // try, line 191 + v_3 = limit - cursor; + lab0: do { + // (, line 191 + // [, line 191 + ket = cursor; + // literal, line 191 + if (!(eq_s_b(1, "e"))) + { + cursor = limit - v_3; + break lab0; + } + // ], line 191 + bra = cursor; + // delete, line 191 + slice_del(); + } while (false); + break; + } + limit_backward = v_2; + return true; + } + + private boolean r_residual_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 198 + // try, line 199 + v_1 = limit - cursor; + lab0: do { + // (, line 199 + // [, line 199 + ket = cursor; + // literal, line 199 + if (!(eq_s_b(1, "s"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 199 + bra = cursor; + // test, line 199 + v_2 = limit - cursor; + if (!(out_grouping_b(g_keep_with_s, 97, 232))) + { + cursor = limit - v_1; + break lab0; + } + cursor = limit - v_2; + // delete, line 199 + slice_del(); + } while (false); + // setlimit, line 200 + v_3 = limit - cursor; + // tomark, line 200 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_4 = limit_backward; + limit_backward = cursor; + cursor = limit - v_3; + // (, line 200 + // [, line 201 + ket = cursor; + // substring, line 201 + among_var = find_among_b(a_7, 7); + if (among_var == 0) + { + limit_backward = v_4; + return false; + } + // ], line 201 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_4; + return false; + case 1: + // (, line 202 + // call R2, line 202 + if (!r_R2()) + { + limit_backward = v_4; + return false; + } + // or, line 202 + lab1: do { + v_5 = limit - cursor; + lab2: do { + // literal, line 202 + if (!(eq_s_b(1, "s"))) + { + break lab2; + } + break lab1; + } while (false); + cursor = limit - v_5; + // literal, line 202 + if (!(eq_s_b(1, "t"))) + { + limit_backward = v_4; + return false; + } + } while (false); + // delete, line 202 + slice_del(); + break; + case 2: + // (, line 204 + // <-, line 204 + slice_from("i"); + break; + case 3: + // (, line 205 + // delete, line 205 + slice_del(); + break; + case 4: + // (, line 206 + // literal, line 206 + if (!(eq_s_b(2, "gu"))) + { + limit_backward = v_4; + return false; + } + // delete, line 206 + slice_del(); + break; + } + limit_backward = v_4; + return true; + } + + private boolean r_un_double() { + int v_1; + // (, line 211 + // test, line 212 + v_1 = limit - cursor; + // among, line 212 + if (find_among_b(a_8, 5) == 0) + { + return false; + } + cursor = limit - v_1; + // [, line 212 + ket = cursor; + // next, line 212 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // ], line 212 + bra = cursor; + // delete, line 212 + slice_del(); + return true; + } + + private boolean r_un_accent() { + int v_3; + // (, line 215 + // atleast, line 216 + { + int v_1 = 1; + // atleast, line 216 + replab0: while(true) + { + lab1: do { + if (!(out_grouping_b(g_v, 97, 251))) + { + break lab1; + } + v_1--; + continue replab0; + } while (false); + break replab0; + } + if (v_1 > 0) + { + return false; + } + } + // [, line 217 + ket = cursor; + // or, line 217 + lab2: do { + v_3 = limit - cursor; + lab3: do { + // literal, line 217 + if (!(eq_s_b(1, "\u00E9"))) + { + break lab3; + } + break lab2; + } while (false); + cursor = limit - v_3; + // literal, line 217 + if (!(eq_s_b(1, "\u00E8"))) + { + return false; + } + } while (false); + // ], line 217 + bra = cursor; + // <-, line 217 + slice_from("e"); + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + // (, line 221 + // do, line 223 + v_1 = cursor; + lab0: do { + // call prelude, line 223 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 224 + v_2 = cursor; + lab1: do { + // call mark_regions, line 224 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 225 + limit_backward = cursor; cursor = limit; + // (, line 225 + // do, line 227 + v_3 = limit - cursor; + lab2: do { + // (, line 227 + // or, line 237 + lab3: do { + v_4 = limit - cursor; + lab4: do { + // (, line 228 + // and, line 233 + v_5 = limit - cursor; + // (, line 229 + // or, line 229 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // call standard_suffix, line 229 + if (!r_standard_suffix()) + { + break lab6; + } + break lab5; + } while (false); + cursor = limit - v_6; + lab7: do { + // call i_verb_suffix, line 230 + if (!r_i_verb_suffix()) + { + break lab7; + } + break lab5; + } while (false); + cursor = limit - v_6; + // call verb_suffix, line 231 + if (!r_verb_suffix()) + { + break lab4; + } + } while (false); + cursor = limit - v_5; + // try, line 234 + v_7 = limit - cursor; + lab8: do { + // (, line 234 + // [, line 234 + ket = cursor; + // or, line 234 + lab9: do { + v_8 = limit - cursor; + lab10: do { + // (, line 234 + // literal, line 234 + if (!(eq_s_b(1, "Y"))) + { + break lab10; + } + // ], line 234 + bra = cursor; + // <-, line 234 + slice_from("i"); + break lab9; + } while (false); + cursor = limit - v_8; + // (, line 235 + // literal, line 235 + if (!(eq_s_b(1, "\u00E7"))) + { + cursor = limit - v_7; + break lab8; + } + // ], line 235 + bra = cursor; + // <-, line 235 + slice_from("c"); + } while (false); + } while (false); + break lab3; + } while (false); + cursor = limit - v_4; + // call residual_suffix, line 238 + if (!r_residual_suffix()) + { + break lab2; + } + } while (false); + } while (false); + cursor = limit - v_3; + // do, line 243 + v_9 = limit - cursor; + lab11: do { + // call un_double, line 243 + if (!r_un_double()) + { + break lab11; + } + } while (false); + cursor = limit - v_9; + // do, line 244 + v_10 = limit - cursor; + lab12: do { + // call un_accent, line 244 + if (!r_un_accent()) + { + break lab12; + } + } while (false); + cursor = limit - v_10; + cursor = limit_backward; // do, line 246 + v_11 = cursor; + lab13: do { + // call postlude, line 246 + if (!r_postlude()) + { + break lab13; + } + } while (false); + cursor = v_11; + return true; + } + + public boolean equals( Object o ) { + return o instanceof frenchStemmer; + } + + public int hashCode() { + return frenchStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/hungarianStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/hungarianStemmer.java new file mode 100755 index 000000000..b2fed699f --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/hungarianStemmer.java @@ -0,0 +1,1174 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class hungarianStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static hungarianStemmer methodObject = new hungarianStemmer (); + + private final static Among a_0[] = { + new Among ( "cs", -1, -1, "", methodObject ), + new Among ( "dzs", -1, -1, "", methodObject ), + new Among ( "gy", -1, -1, "", methodObject ), + new Among ( "ly", -1, -1, "", methodObject ), + new Among ( "ny", -1, -1, "", methodObject ), + new Among ( "sz", -1, -1, "", methodObject ), + new Among ( "ty", -1, -1, "", methodObject ), + new Among ( "zs", -1, -1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "\u00E1", -1, 1, "", methodObject ), + new Among ( "\u00E9", -1, 2, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "bb", -1, -1, "", methodObject ), + new Among ( "cc", -1, -1, "", methodObject ), + new Among ( "dd", -1, -1, "", methodObject ), + new Among ( "ff", -1, -1, "", methodObject ), + new Among ( "gg", -1, -1, "", methodObject ), + new Among ( "jj", -1, -1, "", methodObject ), + new Among ( "kk", -1, -1, "", methodObject ), + new Among ( "ll", -1, -1, "", methodObject ), + new Among ( "mm", -1, -1, "", methodObject ), + new Among ( "nn", -1, -1, "", methodObject ), + new Among ( "pp", -1, -1, "", methodObject ), + new Among ( "rr", -1, -1, "", methodObject ), + new Among ( "ccs", -1, -1, "", methodObject ), + new Among ( "ss", -1, -1, "", methodObject ), + new Among ( "zzs", -1, -1, "", methodObject ), + new Among ( "tt", -1, -1, "", methodObject ), + new Among ( "vv", -1, -1, "", methodObject ), + new Among ( "ggy", -1, -1, "", methodObject ), + new Among ( "lly", -1, -1, "", methodObject ), + new Among ( "nny", -1, -1, "", methodObject ), + new Among ( "tty", -1, -1, "", methodObject ), + new Among ( "ssz", -1, -1, "", methodObject ), + new Among ( "zz", -1, -1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "al", -1, 1, "", methodObject ), + new Among ( "el", -1, 2, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "ba", -1, -1, "", methodObject ), + new Among ( "ra", -1, -1, "", methodObject ), + new Among ( "be", -1, -1, "", methodObject ), + new Among ( "re", -1, -1, "", methodObject ), + new Among ( "ig", -1, -1, "", methodObject ), + new Among ( "nak", -1, -1, "", methodObject ), + new Among ( "nek", -1, -1, "", methodObject ), + new Among ( "val", -1, -1, "", methodObject ), + new Among ( "vel", -1, -1, "", methodObject ), + new Among ( "ul", -1, -1, "", methodObject ), + new Among ( "n\u00E1l", -1, -1, "", methodObject ), + new Among ( "n\u00E9l", -1, -1, "", methodObject ), + new Among ( "b\u00F3l", -1, -1, "", methodObject ), + new Among ( "r\u00F3l", -1, -1, "", methodObject ), + new Among ( "t\u00F3l", -1, -1, "", methodObject ), + new Among ( "b\u00F5l", -1, -1, "", methodObject ), + new Among ( "r\u00F5l", -1, -1, "", methodObject ), + new Among ( "t\u00F5l", -1, -1, "", methodObject ), + new Among ( "\u00FCl", -1, -1, "", methodObject ), + new Among ( "n", -1, -1, "", methodObject ), + new Among ( "an", 19, -1, "", methodObject ), + new Among ( "ban", 20, -1, "", methodObject ), + new Among ( "en", 19, -1, "", methodObject ), + new Among ( "ben", 22, -1, "", methodObject ), + new Among ( "k\u00E9ppen", 22, -1, "", methodObject ), + new Among ( "on", 19, -1, "", methodObject ), + new Among ( "\u00F6n", 19, -1, "", methodObject ), + new Among ( "k\u00E9pp", -1, -1, "", methodObject ), + new Among ( "kor", -1, -1, "", methodObject ), + new Among ( "t", -1, -1, "", methodObject ), + new Among ( "at", 29, -1, "", methodObject ), + new Among ( "et", 29, -1, "", methodObject ), + new Among ( "k\u00E9nt", 29, -1, "", methodObject ), + new Among ( "ank\u00E9nt", 32, -1, "", methodObject ), + new Among ( "enk\u00E9nt", 32, -1, "", methodObject ), + new Among ( "onk\u00E9nt", 32, -1, "", methodObject ), + new Among ( "ot", 29, -1, "", methodObject ), + new Among ( "\u00E9rt", 29, -1, "", methodObject ), + new Among ( "\u00F6t", 29, -1, "", methodObject ), + new Among ( "hez", -1, -1, "", methodObject ), + new Among ( "hoz", -1, -1, "", methodObject ), + new Among ( "h\u00F6z", -1, -1, "", methodObject ), + new Among ( "v\u00E1", -1, -1, "", methodObject ), + new Among ( "v\u00E9", -1, -1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "\u00E1n", -1, 2, "", methodObject ), + new Among ( "\u00E9n", -1, 1, "", methodObject ), + new Among ( "\u00E1nk\u00E9nt", -1, 3, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "stul", -1, 2, "", methodObject ), + new Among ( "astul", 0, 1, "", methodObject ), + new Among ( "\u00E1stul", 0, 3, "", methodObject ), + new Among ( "st\u00FCl", -1, 2, "", methodObject ), + new Among ( "est\u00FCl", 3, 1, "", methodObject ), + new Among ( "\u00E9st\u00FCl", 3, 4, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "\u00E1", -1, 1, "", methodObject ), + new Among ( "\u00E9", -1, 2, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "k", -1, 7, "", methodObject ), + new Among ( "ak", 0, 4, "", methodObject ), + new Among ( "ek", 0, 6, "", methodObject ), + new Among ( "ok", 0, 5, "", methodObject ), + new Among ( "\u00E1k", 0, 1, "", methodObject ), + new Among ( "\u00E9k", 0, 2, "", methodObject ), + new Among ( "\u00F6k", 0, 3, "", methodObject ) + }; + + private final static Among a_9[] = { + new Among ( "\u00E9i", -1, 7, "", methodObject ), + new Among ( "\u00E1\u00E9i", 0, 6, "", methodObject ), + new Among ( "\u00E9\u00E9i", 0, 5, "", methodObject ), + new Among ( "\u00E9", -1, 9, "", methodObject ), + new Among ( "k\u00E9", 3, 4, "", methodObject ), + new Among ( "ak\u00E9", 4, 1, "", methodObject ), + new Among ( "ek\u00E9", 4, 1, "", methodObject ), + new Among ( "ok\u00E9", 4, 1, "", methodObject ), + new Among ( "\u00E1k\u00E9", 4, 3, "", methodObject ), + new Among ( "\u00E9k\u00E9", 4, 2, "", methodObject ), + new Among ( "\u00F6k\u00E9", 4, 1, "", methodObject ), + new Among ( "\u00E9\u00E9", 3, 8, "", methodObject ) + }; + + private final static Among a_10[] = { + new Among ( "a", -1, 18, "", methodObject ), + new Among ( "ja", 0, 17, "", methodObject ), + new Among ( "d", -1, 16, "", methodObject ), + new Among ( "ad", 2, 13, "", methodObject ), + new Among ( "ed", 2, 13, "", methodObject ), + new Among ( "od", 2, 13, "", methodObject ), + new Among ( "\u00E1d", 2, 14, "", methodObject ), + new Among ( "\u00E9d", 2, 15, "", methodObject ), + new Among ( "\u00F6d", 2, 13, "", methodObject ), + new Among ( "e", -1, 18, "", methodObject ), + new Among ( "je", 9, 17, "", methodObject ), + new Among ( "nk", -1, 4, "", methodObject ), + new Among ( "unk", 11, 1, "", methodObject ), + new Among ( "\u00E1nk", 11, 2, "", methodObject ), + new Among ( "\u00E9nk", 11, 3, "", methodObject ), + new Among ( "\u00FCnk", 11, 1, "", methodObject ), + new Among ( "uk", -1, 8, "", methodObject ), + new Among ( "juk", 16, 7, "", methodObject ), + new Among ( "\u00E1juk", 17, 5, "", methodObject ), + new Among ( "\u00FCk", -1, 8, "", methodObject ), + new Among ( "j\u00FCk", 19, 7, "", methodObject ), + new Among ( "\u00E9j\u00FCk", 20, 6, "", methodObject ), + new Among ( "m", -1, 12, "", methodObject ), + new Among ( "am", 22, 9, "", methodObject ), + new Among ( "em", 22, 9, "", methodObject ), + new Among ( "om", 22, 9, "", methodObject ), + new Among ( "\u00E1m", 22, 10, "", methodObject ), + new Among ( "\u00E9m", 22, 11, "", methodObject ), + new Among ( "o", -1, 18, "", methodObject ), + new Among ( "\u00E1", -1, 19, "", methodObject ), + new Among ( "\u00E9", -1, 20, "", methodObject ) + }; + + private final static Among a_11[] = { + new Among ( "id", -1, 10, "", methodObject ), + new Among ( "aid", 0, 9, "", methodObject ), + new Among ( "jaid", 1, 6, "", methodObject ), + new Among ( "eid", 0, 9, "", methodObject ), + new Among ( "jeid", 3, 6, "", methodObject ), + new Among ( "\u00E1id", 0, 7, "", methodObject ), + new Among ( "\u00E9id", 0, 8, "", methodObject ), + new Among ( "i", -1, 15, "", methodObject ), + new Among ( "ai", 7, 14, "", methodObject ), + new Among ( "jai", 8, 11, "", methodObject ), + new Among ( "ei", 7, 14, "", methodObject ), + new Among ( "jei", 10, 11, "", methodObject ), + new Among ( "\u00E1i", 7, 12, "", methodObject ), + new Among ( "\u00E9i", 7, 13, "", methodObject ), + new Among ( "itek", -1, 24, "", methodObject ), + new Among ( "eitek", 14, 21, "", methodObject ), + new Among ( "jeitek", 15, 20, "", methodObject ), + new Among ( "\u00E9itek", 14, 23, "", methodObject ), + new Among ( "ik", -1, 29, "", methodObject ), + new Among ( "aik", 18, 26, "", methodObject ), + new Among ( "jaik", 19, 25, "", methodObject ), + new Among ( "eik", 18, 26, "", methodObject ), + new Among ( "jeik", 21, 25, "", methodObject ), + new Among ( "\u00E1ik", 18, 27, "", methodObject ), + new Among ( "\u00E9ik", 18, 28, "", methodObject ), + new Among ( "ink", -1, 20, "", methodObject ), + new Among ( "aink", 25, 17, "", methodObject ), + new Among ( "jaink", 26, 16, "", methodObject ), + new Among ( "eink", 25, 17, "", methodObject ), + new Among ( "jeink", 28, 16, "", methodObject ), + new Among ( "\u00E1ink", 25, 18, "", methodObject ), + new Among ( "\u00E9ink", 25, 19, "", methodObject ), + new Among ( "aitok", -1, 21, "", methodObject ), + new Among ( "jaitok", 32, 20, "", methodObject ), + new Among ( "\u00E1itok", -1, 22, "", methodObject ), + new Among ( "im", -1, 5, "", methodObject ), + new Among ( "aim", 35, 4, "", methodObject ), + new Among ( "jaim", 36, 1, "", methodObject ), + new Among ( "eim", 35, 4, "", methodObject ), + new Among ( "jeim", 38, 1, "", methodObject ), + new Among ( "\u00E1im", 35, 2, "", methodObject ), + new Among ( "\u00E9im", 35, 3, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 }; + + private int I_p1; + + private void copy_from(hungarianStemmer other) { + I_p1 = other.I_p1; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_3; + // (, line 44 + I_p1 = limit; + // or, line 51 + lab0: do { + v_1 = cursor; + lab1: do { + // (, line 48 + if (!(in_grouping(g_v, 97, 252))) + { + break lab1; + } + // goto, line 48 + golab2: while(true) + { + v_2 = cursor; + lab3: do { + if (!(out_grouping(g_v, 97, 252))) + { + break lab3; + } + cursor = v_2; + break golab2; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + // or, line 49 + lab4: do { + v_3 = cursor; + lab5: do { + // among, line 49 + if (find_among(a_0, 8) == 0) + { + break lab5; + } + break lab4; + } while (false); + cursor = v_3; + // next, line 49 + if (cursor >= limit) + { + break lab1; + } + cursor++; + } while (false); + // setmark p1, line 50 + I_p1 = cursor; + break lab0; + } while (false); + cursor = v_1; + // (, line 53 + if (!(out_grouping(g_v, 97, 252))) + { + return false; + } + // gopast, line 53 + golab6: while(true) + { + lab7: do { + if (!(in_grouping(g_v, 97, 252))) + { + break lab7; + } + break golab6; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p1, line 53 + I_p1 = cursor; + } while (false); + return true; + } + + private boolean r_R1() { + if (!(I_p1 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_v_ending() { + int among_var; + // (, line 60 + // [, line 61 + ket = cursor; + // substring, line 61 + among_var = find_among_b(a_1, 2); + if (among_var == 0) + { + return false; + } + // ], line 61 + bra = cursor; + // call R1, line 61 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 62 + // <-, line 62 + slice_from("a"); + break; + case 2: + // (, line 63 + // <-, line 63 + slice_from("e"); + break; + } + return true; + } + + private boolean r_double() { + int v_1; + // (, line 67 + // test, line 68 + v_1 = limit - cursor; + // among, line 68 + if (find_among_b(a_2, 23) == 0) + { + return false; + } + cursor = limit - v_1; + return true; + } + + private boolean r_undouble() { + // (, line 72 + // next, line 73 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // [, line 73 + ket = cursor; + // hop, line 73 + { + int c = cursor - 1; + if (limit_backward > c || c > limit) + { + return false; + } + cursor = c; + } + // ], line 73 + bra = cursor; + // delete, line 73 + slice_del(); + return true; + } + + private boolean r_instrum() { + int among_var; + // (, line 76 + // [, line 77 + ket = cursor; + // substring, line 77 + among_var = find_among_b(a_3, 2); + if (among_var == 0) + { + return false; + } + // ], line 77 + bra = cursor; + // call R1, line 77 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 78 + // call double, line 78 + if (!r_double()) + { + return false; + } + break; + case 2: + // (, line 79 + // call double, line 79 + if (!r_double()) + { + return false; + } + break; + } + // delete, line 81 + slice_del(); + // call undouble, line 82 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_case() { + // (, line 86 + // [, line 87 + ket = cursor; + // substring, line 87 + if (find_among_b(a_4, 44) == 0) + { + return false; + } + // ], line 87 + bra = cursor; + // call R1, line 87 + if (!r_R1()) + { + return false; + } + // delete, line 111 + slice_del(); + // call v_ending, line 112 + if (!r_v_ending()) + { + return false; + } + return true; + } + + private boolean r_case_special() { + int among_var; + // (, line 115 + // [, line 116 + ket = cursor; + // substring, line 116 + among_var = find_among_b(a_5, 3); + if (among_var == 0) + { + return false; + } + // ], line 116 + bra = cursor; + // call R1, line 116 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 117 + // <-, line 117 + slice_from("e"); + break; + case 2: + // (, line 118 + // <-, line 118 + slice_from("a"); + break; + case 3: + // (, line 119 + // <-, line 119 + slice_from("a"); + break; + } + return true; + } + + private boolean r_case_other() { + int among_var; + // (, line 123 + // [, line 124 + ket = cursor; + // substring, line 124 + among_var = find_among_b(a_6, 6); + if (among_var == 0) + { + return false; + } + // ], line 124 + bra = cursor; + // call R1, line 124 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 125 + // delete, line 125 + slice_del(); + break; + case 2: + // (, line 126 + // delete, line 126 + slice_del(); + break; + case 3: + // (, line 127 + // <-, line 127 + slice_from("a"); + break; + case 4: + // (, line 128 + // <-, line 128 + slice_from("e"); + break; + } + return true; + } + + private boolean r_factive() { + int among_var; + // (, line 132 + // [, line 133 + ket = cursor; + // substring, line 133 + among_var = find_among_b(a_7, 2); + if (among_var == 0) + { + return false; + } + // ], line 133 + bra = cursor; + // call R1, line 133 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 134 + // call double, line 134 + if (!r_double()) + { + return false; + } + break; + case 2: + // (, line 135 + // call double, line 135 + if (!r_double()) + { + return false; + } + break; + } + // delete, line 137 + slice_del(); + // call undouble, line 138 + if (!r_undouble()) + { + return false; + } + return true; + } + + private boolean r_plural() { + int among_var; + // (, line 141 + // [, line 142 + ket = cursor; + // substring, line 142 + among_var = find_among_b(a_8, 7); + if (among_var == 0) + { + return false; + } + // ], line 142 + bra = cursor; + // call R1, line 142 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 143 + // <-, line 143 + slice_from("a"); + break; + case 2: + // (, line 144 + // <-, line 144 + slice_from("e"); + break; + case 3: + // (, line 145 + // delete, line 145 + slice_del(); + break; + case 4: + // (, line 146 + // delete, line 146 + slice_del(); + break; + case 5: + // (, line 147 + // delete, line 147 + slice_del(); + break; + case 6: + // (, line 148 + // delete, line 148 + slice_del(); + break; + case 7: + // (, line 149 + // delete, line 149 + slice_del(); + break; + } + return true; + } + + private boolean r_owned() { + int among_var; + // (, line 153 + // [, line 154 + ket = cursor; + // substring, line 154 + among_var = find_among_b(a_9, 12); + if (among_var == 0) + { + return false; + } + // ], line 154 + bra = cursor; + // call R1, line 154 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 155 + // delete, line 155 + slice_del(); + break; + case 2: + // (, line 156 + // <-, line 156 + slice_from("e"); + break; + case 3: + // (, line 157 + // <-, line 157 + slice_from("a"); + break; + case 4: + // (, line 158 + // delete, line 158 + slice_del(); + break; + case 5: + // (, line 159 + // <-, line 159 + slice_from("e"); + break; + case 6: + // (, line 160 + // <-, line 160 + slice_from("a"); + break; + case 7: + // (, line 161 + // delete, line 161 + slice_del(); + break; + case 8: + // (, line 162 + // <-, line 162 + slice_from("e"); + break; + case 9: + // (, line 163 + // delete, line 163 + slice_del(); + break; + } + return true; + } + + private boolean r_sing_owner() { + int among_var; + // (, line 167 + // [, line 168 + ket = cursor; + // substring, line 168 + among_var = find_among_b(a_10, 31); + if (among_var == 0) + { + return false; + } + // ], line 168 + bra = cursor; + // call R1, line 168 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 169 + // delete, line 169 + slice_del(); + break; + case 2: + // (, line 170 + // <-, line 170 + slice_from("a"); + break; + case 3: + // (, line 171 + // <-, line 171 + slice_from("e"); + break; + case 4: + // (, line 172 + // delete, line 172 + slice_del(); + break; + case 5: + // (, line 173 + // <-, line 173 + slice_from("a"); + break; + case 6: + // (, line 174 + // <-, line 174 + slice_from("e"); + break; + case 7: + // (, line 175 + // delete, line 175 + slice_del(); + break; + case 8: + // (, line 176 + // delete, line 176 + slice_del(); + break; + case 9: + // (, line 177 + // delete, line 177 + slice_del(); + break; + case 10: + // (, line 178 + // <-, line 178 + slice_from("a"); + break; + case 11: + // (, line 179 + // <-, line 179 + slice_from("e"); + break; + case 12: + // (, line 180 + // delete, line 180 + slice_del(); + break; + case 13: + // (, line 181 + // delete, line 181 + slice_del(); + break; + case 14: + // (, line 182 + // <-, line 182 + slice_from("a"); + break; + case 15: + // (, line 183 + // <-, line 183 + slice_from("e"); + break; + case 16: + // (, line 184 + // delete, line 184 + slice_del(); + break; + case 17: + // (, line 185 + // delete, line 185 + slice_del(); + break; + case 18: + // (, line 186 + // delete, line 186 + slice_del(); + break; + case 19: + // (, line 187 + // <-, line 187 + slice_from("a"); + break; + case 20: + // (, line 188 + // <-, line 188 + slice_from("e"); + break; + } + return true; + } + + private boolean r_plur_owner() { + int among_var; + // (, line 192 + // [, line 193 + ket = cursor; + // substring, line 193 + among_var = find_among_b(a_11, 42); + if (among_var == 0) + { + return false; + } + // ], line 193 + bra = cursor; + // call R1, line 193 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 194 + // delete, line 194 + slice_del(); + break; + case 2: + // (, line 195 + // <-, line 195 + slice_from("a"); + break; + case 3: + // (, line 196 + // <-, line 196 + slice_from("e"); + break; + case 4: + // (, line 197 + // delete, line 197 + slice_del(); + break; + case 5: + // (, line 198 + // delete, line 198 + slice_del(); + break; + case 6: + // (, line 199 + // delete, line 199 + slice_del(); + break; + case 7: + // (, line 200 + // <-, line 200 + slice_from("a"); + break; + case 8: + // (, line 201 + // <-, line 201 + slice_from("e"); + break; + case 9: + // (, line 202 + // delete, line 202 + slice_del(); + break; + case 10: + // (, line 203 + // delete, line 203 + slice_del(); + break; + case 11: + // (, line 204 + // delete, line 204 + slice_del(); + break; + case 12: + // (, line 205 + // <-, line 205 + slice_from("a"); + break; + case 13: + // (, line 206 + // <-, line 206 + slice_from("e"); + break; + case 14: + // (, line 207 + // delete, line 207 + slice_del(); + break; + case 15: + // (, line 208 + // delete, line 208 + slice_del(); + break; + case 16: + // (, line 209 + // delete, line 209 + slice_del(); + break; + case 17: + // (, line 210 + // delete, line 210 + slice_del(); + break; + case 18: + // (, line 211 + // <-, line 211 + slice_from("a"); + break; + case 19: + // (, line 212 + // <-, line 212 + slice_from("e"); + break; + case 20: + // (, line 214 + // delete, line 214 + slice_del(); + break; + case 21: + // (, line 215 + // delete, line 215 + slice_del(); + break; + case 22: + // (, line 216 + // <-, line 216 + slice_from("a"); + break; + case 23: + // (, line 217 + // <-, line 217 + slice_from("e"); + break; + case 24: + // (, line 218 + // delete, line 218 + slice_del(); + break; + case 25: + // (, line 219 + // delete, line 219 + slice_del(); + break; + case 26: + // (, line 220 + // delete, line 220 + slice_del(); + break; + case 27: + // (, line 221 + // <-, line 221 + slice_from("a"); + break; + case 28: + // (, line 222 + // <-, line 222 + slice_from("e"); + break; + case 29: + // (, line 223 + // delete, line 223 + slice_del(); + break; + } + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 228 + // do, line 229 + v_1 = cursor; + lab0: do { + // call mark_regions, line 229 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // backwards, line 230 + limit_backward = cursor; cursor = limit; + // (, line 230 + // do, line 231 + v_2 = limit - cursor; + lab1: do { + // call instrum, line 231 + if (!r_instrum()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 232 + v_3 = limit - cursor; + lab2: do { + // call case, line 232 + if (!r_case()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 233 + v_4 = limit - cursor; + lab3: do { + // call case_special, line 233 + if (!r_case_special()) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + // do, line 234 + v_5 = limit - cursor; + lab4: do { + // call case_other, line 234 + if (!r_case_other()) + { + break lab4; + } + } while (false); + cursor = limit - v_5; + // do, line 235 + v_6 = limit - cursor; + lab5: do { + // call factive, line 235 + if (!r_factive()) + { + break lab5; + } + } while (false); + cursor = limit - v_6; + // do, line 236 + v_7 = limit - cursor; + lab6: do { + // call owned, line 236 + if (!r_owned()) + { + break lab6; + } + } while (false); + cursor = limit - v_7; + // do, line 237 + v_8 = limit - cursor; + lab7: do { + // call sing_owner, line 237 + if (!r_sing_owner()) + { + break lab7; + } + } while (false); + cursor = limit - v_8; + // do, line 238 + v_9 = limit - cursor; + lab8: do { + // call plur_owner, line 238 + if (!r_plur_owner()) + { + break lab8; + } + } while (false); + cursor = limit - v_9; + // do, line 239 + v_10 = limit - cursor; + lab9: do { + // call plural, line 239 + if (!r_plural()) + { + break lab9; + } + } while (false); + cursor = limit - v_10; + cursor = limit_backward; return true; + } + + public boolean equals( Object o ) { + return o instanceof hungarianStemmer; + } + + public int hashCode() { + return hungarianStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/italianStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/italianStemmer.java new file mode 100755 index 000000000..9642c8e68 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/italianStemmer.java @@ -0,0 +1,1196 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class italianStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static italianStemmer methodObject = new italianStemmer (); + + private final static Among a_0[] = { + new Among ( "", -1, 7, "", methodObject ), + new Among ( "qu", 0, 6, "", methodObject ), + new Among ( "\u00E1", 0, 1, "", methodObject ), + new Among ( "\u00E9", 0, 2, "", methodObject ), + new Among ( "\u00ED", 0, 3, "", methodObject ), + new Among ( "\u00F3", 0, 4, "", methodObject ), + new Among ( "\u00FA", 0, 5, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "", -1, 3, "", methodObject ), + new Among ( "I", 0, 1, "", methodObject ), + new Among ( "U", 0, 2, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "la", -1, -1, "", methodObject ), + new Among ( "cela", 0, -1, "", methodObject ), + new Among ( "gliela", 0, -1, "", methodObject ), + new Among ( "mela", 0, -1, "", methodObject ), + new Among ( "tela", 0, -1, "", methodObject ), + new Among ( "vela", 0, -1, "", methodObject ), + new Among ( "le", -1, -1, "", methodObject ), + new Among ( "cele", 6, -1, "", methodObject ), + new Among ( "gliele", 6, -1, "", methodObject ), + new Among ( "mele", 6, -1, "", methodObject ), + new Among ( "tele", 6, -1, "", methodObject ), + new Among ( "vele", 6, -1, "", methodObject ), + new Among ( "ne", -1, -1, "", methodObject ), + new Among ( "cene", 12, -1, "", methodObject ), + new Among ( "gliene", 12, -1, "", methodObject ), + new Among ( "mene", 12, -1, "", methodObject ), + new Among ( "sene", 12, -1, "", methodObject ), + new Among ( "tene", 12, -1, "", methodObject ), + new Among ( "vene", 12, -1, "", methodObject ), + new Among ( "ci", -1, -1, "", methodObject ), + new Among ( "li", -1, -1, "", methodObject ), + new Among ( "celi", 20, -1, "", methodObject ), + new Among ( "glieli", 20, -1, "", methodObject ), + new Among ( "meli", 20, -1, "", methodObject ), + new Among ( "teli", 20, -1, "", methodObject ), + new Among ( "veli", 20, -1, "", methodObject ), + new Among ( "gli", 20, -1, "", methodObject ), + new Among ( "mi", -1, -1, "", methodObject ), + new Among ( "si", -1, -1, "", methodObject ), + new Among ( "ti", -1, -1, "", methodObject ), + new Among ( "vi", -1, -1, "", methodObject ), + new Among ( "lo", -1, -1, "", methodObject ), + new Among ( "celo", 31, -1, "", methodObject ), + new Among ( "glielo", 31, -1, "", methodObject ), + new Among ( "melo", 31, -1, "", methodObject ), + new Among ( "telo", 31, -1, "", methodObject ), + new Among ( "velo", 31, -1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ando", -1, 1, "", methodObject ), + new Among ( "endo", -1, 1, "", methodObject ), + new Among ( "ar", -1, 2, "", methodObject ), + new Among ( "er", -1, 2, "", methodObject ), + new Among ( "ir", -1, 2, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "ic", -1, -1, "", methodObject ), + new Among ( "abil", -1, -1, "", methodObject ), + new Among ( "os", -1, -1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "ic", -1, 1, "", methodObject ), + new Among ( "abil", -1, 1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "ica", -1, 1, "", methodObject ), + new Among ( "logia", -1, 3, "", methodObject ), + new Among ( "osa", -1, 1, "", methodObject ), + new Among ( "ista", -1, 1, "", methodObject ), + new Among ( "iva", -1, 9, "", methodObject ), + new Among ( "anza", -1, 1, "", methodObject ), + new Among ( "enza", -1, 5, "", methodObject ), + new Among ( "ice", -1, 1, "", methodObject ), + new Among ( "atrice", 7, 1, "", methodObject ), + new Among ( "iche", -1, 1, "", methodObject ), + new Among ( "logie", -1, 3, "", methodObject ), + new Among ( "abile", -1, 1, "", methodObject ), + new Among ( "ibile", -1, 1, "", methodObject ), + new Among ( "usione", -1, 4, "", methodObject ), + new Among ( "azione", -1, 2, "", methodObject ), + new Among ( "uzione", -1, 4, "", methodObject ), + new Among ( "atore", -1, 2, "", methodObject ), + new Among ( "ose", -1, 1, "", methodObject ), + new Among ( "ante", -1, 1, "", methodObject ), + new Among ( "mente", -1, 1, "", methodObject ), + new Among ( "amente", 19, 7, "", methodObject ), + new Among ( "iste", -1, 1, "", methodObject ), + new Among ( "ive", -1, 9, "", methodObject ), + new Among ( "anze", -1, 1, "", methodObject ), + new Among ( "enze", -1, 5, "", methodObject ), + new Among ( "ici", -1, 1, "", methodObject ), + new Among ( "atrici", 25, 1, "", methodObject ), + new Among ( "ichi", -1, 1, "", methodObject ), + new Among ( "abili", -1, 1, "", methodObject ), + new Among ( "ibili", -1, 1, "", methodObject ), + new Among ( "ismi", -1, 1, "", methodObject ), + new Among ( "usioni", -1, 4, "", methodObject ), + new Among ( "azioni", -1, 2, "", methodObject ), + new Among ( "uzioni", -1, 4, "", methodObject ), + new Among ( "atori", -1, 2, "", methodObject ), + new Among ( "osi", -1, 1, "", methodObject ), + new Among ( "anti", -1, 1, "", methodObject ), + new Among ( "amenti", -1, 6, "", methodObject ), + new Among ( "imenti", -1, 6, "", methodObject ), + new Among ( "isti", -1, 1, "", methodObject ), + new Among ( "ivi", -1, 9, "", methodObject ), + new Among ( "ico", -1, 1, "", methodObject ), + new Among ( "ismo", -1, 1, "", methodObject ), + new Among ( "oso", -1, 1, "", methodObject ), + new Among ( "amento", -1, 6, "", methodObject ), + new Among ( "imento", -1, 6, "", methodObject ), + new Among ( "ivo", -1, 9, "", methodObject ), + new Among ( "it\u00E0", -1, 8, "", methodObject ), + new Among ( "ist\u00E0", -1, 1, "", methodObject ), + new Among ( "ist\u00E8", -1, 1, "", methodObject ), + new Among ( "ist\u00EC", -1, 1, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "isca", -1, 1, "", methodObject ), + new Among ( "enda", -1, 1, "", methodObject ), + new Among ( "ata", -1, 1, "", methodObject ), + new Among ( "ita", -1, 1, "", methodObject ), + new Among ( "uta", -1, 1, "", methodObject ), + new Among ( "ava", -1, 1, "", methodObject ), + new Among ( "eva", -1, 1, "", methodObject ), + new Among ( "iva", -1, 1, "", methodObject ), + new Among ( "erebbe", -1, 1, "", methodObject ), + new Among ( "irebbe", -1, 1, "", methodObject ), + new Among ( "isce", -1, 1, "", methodObject ), + new Among ( "ende", -1, 1, "", methodObject ), + new Among ( "are", -1, 1, "", methodObject ), + new Among ( "ere", -1, 1, "", methodObject ), + new Among ( "ire", -1, 1, "", methodObject ), + new Among ( "asse", -1, 1, "", methodObject ), + new Among ( "ate", -1, 1, "", methodObject ), + new Among ( "avate", 16, 1, "", methodObject ), + new Among ( "evate", 16, 1, "", methodObject ), + new Among ( "ivate", 16, 1, "", methodObject ), + new Among ( "ete", -1, 1, "", methodObject ), + new Among ( "erete", 20, 1, "", methodObject ), + new Among ( "irete", 20, 1, "", methodObject ), + new Among ( "ite", -1, 1, "", methodObject ), + new Among ( "ereste", -1, 1, "", methodObject ), + new Among ( "ireste", -1, 1, "", methodObject ), + new Among ( "ute", -1, 1, "", methodObject ), + new Among ( "erai", -1, 1, "", methodObject ), + new Among ( "irai", -1, 1, "", methodObject ), + new Among ( "isci", -1, 1, "", methodObject ), + new Among ( "endi", -1, 1, "", methodObject ), + new Among ( "erei", -1, 1, "", methodObject ), + new Among ( "irei", -1, 1, "", methodObject ), + new Among ( "assi", -1, 1, "", methodObject ), + new Among ( "ati", -1, 1, "", methodObject ), + new Among ( "iti", -1, 1, "", methodObject ), + new Among ( "eresti", -1, 1, "", methodObject ), + new Among ( "iresti", -1, 1, "", methodObject ), + new Among ( "uti", -1, 1, "", methodObject ), + new Among ( "avi", -1, 1, "", methodObject ), + new Among ( "evi", -1, 1, "", methodObject ), + new Among ( "ivi", -1, 1, "", methodObject ), + new Among ( "isco", -1, 1, "", methodObject ), + new Among ( "ando", -1, 1, "", methodObject ), + new Among ( "endo", -1, 1, "", methodObject ), + new Among ( "Yamo", -1, 1, "", methodObject ), + new Among ( "iamo", -1, 1, "", methodObject ), + new Among ( "avamo", -1, 1, "", methodObject ), + new Among ( "evamo", -1, 1, "", methodObject ), + new Among ( "ivamo", -1, 1, "", methodObject ), + new Among ( "eremo", -1, 1, "", methodObject ), + new Among ( "iremo", -1, 1, "", methodObject ), + new Among ( "assimo", -1, 1, "", methodObject ), + new Among ( "ammo", -1, 1, "", methodObject ), + new Among ( "emmo", -1, 1, "", methodObject ), + new Among ( "eremmo", 54, 1, "", methodObject ), + new Among ( "iremmo", 54, 1, "", methodObject ), + new Among ( "immo", -1, 1, "", methodObject ), + new Among ( "ano", -1, 1, "", methodObject ), + new Among ( "iscano", 58, 1, "", methodObject ), + new Among ( "avano", 58, 1, "", methodObject ), + new Among ( "evano", 58, 1, "", methodObject ), + new Among ( "ivano", 58, 1, "", methodObject ), + new Among ( "eranno", -1, 1, "", methodObject ), + new Among ( "iranno", -1, 1, "", methodObject ), + new Among ( "ono", -1, 1, "", methodObject ), + new Among ( "iscono", 65, 1, "", methodObject ), + new Among ( "arono", 65, 1, "", methodObject ), + new Among ( "erono", 65, 1, "", methodObject ), + new Among ( "irono", 65, 1, "", methodObject ), + new Among ( "erebbero", -1, 1, "", methodObject ), + new Among ( "irebbero", -1, 1, "", methodObject ), + new Among ( "assero", -1, 1, "", methodObject ), + new Among ( "essero", -1, 1, "", methodObject ), + new Among ( "issero", -1, 1, "", methodObject ), + new Among ( "ato", -1, 1, "", methodObject ), + new Among ( "ito", -1, 1, "", methodObject ), + new Among ( "uto", -1, 1, "", methodObject ), + new Among ( "avo", -1, 1, "", methodObject ), + new Among ( "evo", -1, 1, "", methodObject ), + new Among ( "ivo", -1, 1, "", methodObject ), + new Among ( "ar", -1, 1, "", methodObject ), + new Among ( "ir", -1, 1, "", methodObject ), + new Among ( "er\u00E0", -1, 1, "", methodObject ), + new Among ( "ir\u00E0", -1, 1, "", methodObject ), + new Among ( "er\u00F2", -1, 1, "", methodObject ), + new Among ( "ir\u00F2", -1, 1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 }; + + private static final char g_AEIO[] = {17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 }; + + private static final char g_CG[] = {17 }; + + private int I_p2; + private int I_p1; + private int I_pV; + + private void copy_from(italianStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_prelude() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 34 + // test, line 35 + v_1 = cursor; + // repeat, line 35 + replab0: while(true) + { + v_2 = cursor; + lab1: do { + // (, line 35 + // [, line 36 + bra = cursor; + // substring, line 36 + among_var = find_among(a_0, 7); + if (among_var == 0) + { + break lab1; + } + // ], line 36 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 37 + // <-, line 37 + slice_from("\u00E0"); + break; + case 2: + // (, line 38 + // <-, line 38 + slice_from("\u00E8"); + break; + case 3: + // (, line 39 + // <-, line 39 + slice_from("\u00EC"); + break; + case 4: + // (, line 40 + // <-, line 40 + slice_from("\u00F2"); + break; + case 5: + // (, line 41 + // <-, line 41 + slice_from("\u00F9"); + break; + case 6: + // (, line 42 + // <-, line 42 + slice_from("qU"); + break; + case 7: + // (, line 43 + // next, line 43 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_2; + break replab0; + } + cursor = v_1; + // repeat, line 46 + replab2: while(true) + { + v_3 = cursor; + lab3: do { + // goto, line 46 + golab4: while(true) + { + v_4 = cursor; + lab5: do { + // (, line 46 + if (!(in_grouping(g_v, 97, 249))) + { + break lab5; + } + // [, line 47 + bra = cursor; + // or, line 47 + lab6: do { + v_5 = cursor; + lab7: do { + // (, line 47 + // literal, line 47 + if (!(eq_s(1, "u"))) + { + break lab7; + } + // ], line 47 + ket = cursor; + if (!(in_grouping(g_v, 97, 249))) + { + break lab7; + } + // <-, line 47 + slice_from("U"); + break lab6; + } while (false); + cursor = v_5; + // (, line 48 + // literal, line 48 + if (!(eq_s(1, "i"))) + { + break lab5; + } + // ], line 48 + ket = cursor; + if (!(in_grouping(g_v, 97, 249))) + { + break lab5; + } + // <-, line 48 + slice_from("I"); + } while (false); + cursor = v_4; + break golab4; + } while (false); + cursor = v_4; + if (cursor >= limit) + { + break lab3; + } + cursor++; + } + continue replab2; + } while (false); + cursor = v_3; + break replab2; + } + return true; + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_3; + int v_6; + int v_8; + // (, line 52 + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + // do, line 58 + v_1 = cursor; + lab0: do { + // (, line 58 + // or, line 60 + lab1: do { + v_2 = cursor; + lab2: do { + // (, line 59 + if (!(in_grouping(g_v, 97, 249))) + { + break lab2; + } + // or, line 59 + lab3: do { + v_3 = cursor; + lab4: do { + // (, line 59 + if (!(out_grouping(g_v, 97, 249))) + { + break lab4; + } + // gopast, line 59 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 249))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } while (false); + cursor = v_3; + // (, line 59 + if (!(in_grouping(g_v, 97, 249))) + { + break lab2; + } + // gopast, line 59 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 249))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } while (false); + break lab1; + } while (false); + cursor = v_2; + // (, line 61 + if (!(out_grouping(g_v, 97, 249))) + { + break lab0; + } + // or, line 61 + lab9: do { + v_6 = cursor; + lab10: do { + // (, line 61 + if (!(out_grouping(g_v, 97, 249))) + { + break lab10; + } + // gopast, line 61 + golab11: while(true) + { + lab12: do { + if (!(in_grouping(g_v, 97, 249))) + { + break lab12; + } + break golab11; + } while (false); + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } while (false); + cursor = v_6; + // (, line 61 + if (!(in_grouping(g_v, 97, 249))) + { + break lab0; + } + // next, line 61 + if (cursor >= limit) + { + break lab0; + } + cursor++; + } while (false); + } while (false); + // setmark pV, line 62 + I_pV = cursor; + } while (false); + cursor = v_1; + // do, line 64 + v_8 = cursor; + lab13: do { + // (, line 64 + // gopast, line 65 + golab14: while(true) + { + lab15: do { + if (!(in_grouping(g_v, 97, 249))) + { + break lab15; + } + break golab14; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 65 + golab16: while(true) + { + lab17: do { + if (!(out_grouping(g_v, 97, 249))) + { + break lab17; + } + break golab16; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p1, line 65 + I_p1 = cursor; + // gopast, line 66 + golab18: while(true) + { + lab19: do { + if (!(in_grouping(g_v, 97, 249))) + { + break lab19; + } + break golab18; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 66 + golab20: while(true) + { + lab21: do { + if (!(out_grouping(g_v, 97, 249))) + { + break lab21; + } + break golab20; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p2, line 66 + I_p2 = cursor; + } while (false); + cursor = v_8; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 70 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 70 + // [, line 72 + bra = cursor; + // substring, line 72 + among_var = find_among(a_1, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 72 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 73 + // <-, line 73 + slice_from("i"); + break; + case 2: + // (, line 74 + // <-, line 74 + slice_from("u"); + break; + case 3: + // (, line 75 + // next, line 75 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_RV() { + if (!(I_pV <= 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_attached_pronoun() { + int among_var; + // (, line 86 + // [, line 87 + ket = cursor; + // substring, line 87 + if (find_among_b(a_2, 37) == 0) + { + return false; + } + // ], line 87 + bra = cursor; + // among, line 97 + among_var = find_among_b(a_3, 5); + if (among_var == 0) + { + return false; + } + // (, line 97 + // call RV, line 97 + if (!r_RV()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 98 + // delete, line 98 + slice_del(); + break; + case 2: + // (, line 99 + // <-, line 99 + slice_from("e"); + break; + } + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 103 + // [, line 104 + ket = cursor; + // substring, line 104 + among_var = find_among_b(a_6, 51); + if (among_var == 0) + { + return false; + } + // ], line 104 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 111 + // call R2, line 111 + if (!r_R2()) + { + return false; + } + // delete, line 111 + slice_del(); + break; + case 2: + // (, line 113 + // call R2, line 113 + if (!r_R2()) + { + return false; + } + // delete, line 113 + slice_del(); + // try, line 114 + v_1 = limit - cursor; + lab0: do { + // (, line 114 + // [, line 114 + ket = cursor; + // literal, line 114 + if (!(eq_s_b(2, "ic"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 114 + bra = cursor; + // call R2, line 114 + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 114 + slice_del(); + } while (false); + break; + case 3: + // (, line 117 + // call R2, line 117 + if (!r_R2()) + { + return false; + } + // <-, line 117 + slice_from("log"); + break; + case 4: + // (, line 119 + // call R2, line 119 + if (!r_R2()) + { + return false; + } + // <-, line 119 + slice_from("u"); + break; + case 5: + // (, line 121 + // call R2, line 121 + if (!r_R2()) + { + return false; + } + // <-, line 121 + slice_from("ente"); + break; + case 6: + // (, line 123 + // call RV, line 123 + if (!r_RV()) + { + return false; + } + // delete, line 123 + slice_del(); + break; + case 7: + // (, line 124 + // call R1, line 125 + if (!r_R1()) + { + return false; + } + // delete, line 125 + slice_del(); + // try, line 126 + v_2 = limit - cursor; + lab1: do { + // (, line 126 + // [, line 127 + ket = cursor; + // substring, line 127 + among_var = find_among_b(a_4, 4); + if (among_var == 0) + { + cursor = limit - v_2; + break lab1; + } + // ], line 127 + bra = cursor; + // call R2, line 127 + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 127 + slice_del(); + switch(among_var) { + case 0: + cursor = limit - v_2; + break lab1; + case 1: + // (, line 128 + // [, line 128 + ket = cursor; + // literal, line 128 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_2; + break lab1; + } + // ], line 128 + bra = cursor; + // call R2, line 128 + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 128 + slice_del(); + break; + } + } while (false); + break; + case 8: + // (, line 133 + // call R2, line 134 + if (!r_R2()) + { + return false; + } + // delete, line 134 + slice_del(); + // try, line 135 + v_3 = limit - cursor; + lab2: do { + // (, line 135 + // [, line 136 + ket = cursor; + // substring, line 136 + among_var = find_among_b(a_5, 3); + if (among_var == 0) + { + cursor = limit - v_3; + break lab2; + } + // ], line 136 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_3; + break lab2; + case 1: + // (, line 137 + // call R2, line 137 + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + // delete, line 137 + slice_del(); + break; + } + } while (false); + break; + case 9: + // (, line 141 + // call R2, line 142 + if (!r_R2()) + { + return false; + } + // delete, line 142 + slice_del(); + // try, line 143 + v_4 = limit - cursor; + lab3: do { + // (, line 143 + // [, line 143 + ket = cursor; + // literal, line 143 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_4; + break lab3; + } + // ], line 143 + bra = cursor; + // call R2, line 143 + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + // delete, line 143 + slice_del(); + // [, line 143 + ket = cursor; + // literal, line 143 + if (!(eq_s_b(2, "ic"))) + { + cursor = limit - v_4; + break lab3; + } + // ], line 143 + bra = cursor; + // call R2, line 143 + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + // delete, line 143 + slice_del(); + } while (false); + break; + } + return true; + } + + private boolean r_verb_suffix() { + int among_var; + int v_1; + int v_2; + // setlimit, line 148 + v_1 = limit - cursor; + // tomark, line 148 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 148 + // [, line 149 + ket = cursor; + // substring, line 149 + among_var = find_among_b(a_7, 87); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 149 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 163 + // delete, line 163 + slice_del(); + break; + } + limit_backward = v_2; + return true; + } + + private boolean r_vowel_suffix() { + int v_1; + int v_2; + // (, line 170 + // try, line 171 + v_1 = limit - cursor; + lab0: do { + // (, line 171 + // [, line 172 + ket = cursor; + if (!(in_grouping_b(g_AEIO, 97, 242))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 172 + bra = cursor; + // call RV, line 172 + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 172 + slice_del(); + // [, line 173 + ket = cursor; + // literal, line 173 + if (!(eq_s_b(1, "i"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 173 + bra = cursor; + // call RV, line 173 + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 173 + slice_del(); + } while (false); + // try, line 175 + v_2 = limit - cursor; + lab1: do { + // (, line 175 + // [, line 176 + ket = cursor; + // literal, line 176 + if (!(eq_s_b(1, "h"))) + { + cursor = limit - v_2; + break lab1; + } + // ], line 176 + bra = cursor; + if (!(in_grouping_b(g_CG, 99, 103))) + { + cursor = limit - v_2; + break lab1; + } + // call RV, line 176 + if (!r_RV()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 176 + slice_del(); + } while (false); + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + // (, line 181 + // do, line 182 + v_1 = cursor; + lab0: do { + // call prelude, line 182 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 183 + v_2 = cursor; + lab1: do { + // call mark_regions, line 183 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 184 + limit_backward = cursor; cursor = limit; + // (, line 184 + // do, line 185 + v_3 = limit - cursor; + lab2: do { + // call attached_pronoun, line 185 + if (!r_attached_pronoun()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 186 + v_4 = limit - cursor; + lab3: do { + // (, line 186 + // or, line 186 + lab4: do { + v_5 = limit - cursor; + lab5: do { + // call standard_suffix, line 186 + if (!r_standard_suffix()) + { + break lab5; + } + break lab4; + } while (false); + cursor = limit - v_5; + // call verb_suffix, line 186 + if (!r_verb_suffix()) + { + break lab3; + } + } while (false); + } while (false); + cursor = limit - v_4; + // do, line 187 + v_6 = limit - cursor; + lab6: do { + // call vowel_suffix, line 187 + if (!r_vowel_suffix()) + { + break lab6; + } + } while (false); + cursor = limit - v_6; + cursor = limit_backward; // do, line 189 + v_7 = cursor; + lab7: do { + // call postlude, line 189 + if (!r_postlude()) + { + break lab7; + } + } while (false); + cursor = v_7; + return true; + } + + public boolean equals( Object o ) { + return o instanceof italianStemmer; + } + + public int hashCode() { + return italianStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/norwegianStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/norwegianStemmer.java new file mode 100755 index 000000000..4e66704ee --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/norwegianStemmer.java @@ -0,0 +1,374 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class norwegianStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +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_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 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))) + { + break lab1; + } + 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))) + { + 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; + 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_consonant_pair() { + 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; + } + + 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() { + 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; + } + } 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(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/porterStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/porterStemmer.java new file mode 100755 index 000000000..a0e7c0d69 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/porterStemmer.java @@ -0,0 +1,922 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class porterStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static porterStemmer methodObject = new porterStemmer (); + + 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[] = {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 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_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; + } + + 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; + } + + 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()) + { + 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 { + // 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))) + { + break lab3; + } + 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; + } + + 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) + { + 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; + } + + private boolean r_Step_4() { + int among_var; + 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_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 + if (!r_R2()) + { + break lab1; + } + 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; + } + 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; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_10; + int v_11; + int v_12; + int v_13; + int v_14; + int v_15; + int v_16; + int v_17; + 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) + { + 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 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) + { + 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(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/portugueseStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/portugueseStemmer.java new file mode 100755 index 000000000..b0a1e1ff9 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/portugueseStemmer.java @@ -0,0 +1,1132 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class portugueseStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static portugueseStemmer methodObject = new portugueseStemmer (); + + private final static Among a_0[] = { + new Among ( "", -1, 3, "", methodObject ), + new Among ( "\u00E3", 0, 1, "", methodObject ), + new Among ( "\u00F5", 0, 2, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "", -1, 3, "", methodObject ), + new Among ( "a~", 0, 1, "", methodObject ), + new Among ( "o~", 0, 2, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ic", -1, -1, "", methodObject ), + new Among ( "ad", -1, -1, "", methodObject ), + new Among ( "os", -1, -1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ante", -1, 1, "", methodObject ), + new Among ( "avel", -1, 1, "", methodObject ), + new Among ( "\u00EDvel", -1, 1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "ic", -1, 1, "", methodObject ), + new Among ( "abil", -1, 1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "ica", -1, 1, "", methodObject ), + new Among ( "\u00E2ncia", -1, 1, "", methodObject ), + new Among ( "\u00EAncia", -1, 4, "", methodObject ), + new Among ( "ira", -1, 9, "", methodObject ), + new Among ( "adora", -1, 1, "", methodObject ), + new Among ( "osa", -1, 1, "", methodObject ), + new Among ( "ista", -1, 1, "", methodObject ), + new Among ( "iva", -1, 8, "", methodObject ), + new Among ( "eza", -1, 1, "", methodObject ), + new Among ( "log\u00EDa", -1, 2, "", methodObject ), + new Among ( "idade", -1, 7, "", methodObject ), + new Among ( "ante", -1, 1, "", methodObject ), + new Among ( "mente", -1, 6, "", methodObject ), + new Among ( "amente", 12, 5, "", methodObject ), + new Among ( "\u00E1vel", -1, 1, "", methodObject ), + new Among ( "\u00EDvel", -1, 1, "", methodObject ), + new Among ( "uci\u00F3n", -1, 3, "", methodObject ), + new Among ( "ico", -1, 1, "", methodObject ), + new Among ( "ismo", -1, 1, "", methodObject ), + new Among ( "oso", -1, 1, "", methodObject ), + new Among ( "amento", -1, 1, "", methodObject ), + new Among ( "imento", -1, 1, "", methodObject ), + new Among ( "ivo", -1, 8, "", methodObject ), + new Among ( "a\u00E7a~o", -1, 1, "", methodObject ), + new Among ( "ador", -1, 1, "", methodObject ), + new Among ( "icas", -1, 1, "", methodObject ), + new Among ( "\u00EAncias", -1, 4, "", methodObject ), + new Among ( "iras", -1, 9, "", methodObject ), + new Among ( "adoras", -1, 1, "", methodObject ), + new Among ( "osas", -1, 1, "", methodObject ), + new Among ( "istas", -1, 1, "", methodObject ), + new Among ( "ivas", -1, 8, "", methodObject ), + new Among ( "ezas", -1, 1, "", methodObject ), + new Among ( "log\u00EDas", -1, 2, "", methodObject ), + new Among ( "idades", -1, 7, "", methodObject ), + new Among ( "uciones", -1, 3, "", methodObject ), + new Among ( "adores", -1, 1, "", methodObject ), + new Among ( "antes", -1, 1, "", methodObject ), + new Among ( "a\u00E7o~es", -1, 1, "", methodObject ), + new Among ( "icos", -1, 1, "", methodObject ), + new Among ( "ismos", -1, 1, "", methodObject ), + new Among ( "osos", -1, 1, "", methodObject ), + new Among ( "amentos", -1, 1, "", methodObject ), + new Among ( "imentos", -1, 1, "", methodObject ), + new Among ( "ivos", -1, 8, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "ada", -1, 1, "", methodObject ), + new Among ( "ida", -1, 1, "", methodObject ), + new Among ( "ia", -1, 1, "", methodObject ), + new Among ( "aria", 2, 1, "", methodObject ), + new Among ( "eria", 2, 1, "", methodObject ), + new Among ( "iria", 2, 1, "", methodObject ), + new Among ( "ara", -1, 1, "", methodObject ), + new Among ( "era", -1, 1, "", methodObject ), + new Among ( "ira", -1, 1, "", methodObject ), + new Among ( "ava", -1, 1, "", methodObject ), + new Among ( "asse", -1, 1, "", methodObject ), + new Among ( "esse", -1, 1, "", methodObject ), + new Among ( "isse", -1, 1, "", methodObject ), + new Among ( "aste", -1, 1, "", methodObject ), + new Among ( "este", -1, 1, "", methodObject ), + new Among ( "iste", -1, 1, "", methodObject ), + new Among ( "ei", -1, 1, "", methodObject ), + new Among ( "arei", 16, 1, "", methodObject ), + new Among ( "erei", 16, 1, "", methodObject ), + new Among ( "irei", 16, 1, "", methodObject ), + new Among ( "am", -1, 1, "", methodObject ), + new Among ( "iam", 20, 1, "", methodObject ), + new Among ( "ariam", 21, 1, "", methodObject ), + new Among ( "eriam", 21, 1, "", methodObject ), + new Among ( "iriam", 21, 1, "", methodObject ), + new Among ( "aram", 20, 1, "", methodObject ), + new Among ( "eram", 20, 1, "", methodObject ), + new Among ( "iram", 20, 1, "", methodObject ), + new Among ( "avam", 20, 1, "", methodObject ), + new Among ( "em", -1, 1, "", methodObject ), + new Among ( "arem", 29, 1, "", methodObject ), + new Among ( "erem", 29, 1, "", methodObject ), + new Among ( "irem", 29, 1, "", methodObject ), + new Among ( "assem", 29, 1, "", methodObject ), + new Among ( "essem", 29, 1, "", methodObject ), + new Among ( "issem", 29, 1, "", methodObject ), + new Among ( "ado", -1, 1, "", methodObject ), + new Among ( "ido", -1, 1, "", methodObject ), + new Among ( "ando", -1, 1, "", methodObject ), + new Among ( "endo", -1, 1, "", methodObject ), + new Among ( "indo", -1, 1, "", methodObject ), + new Among ( "ara~o", -1, 1, "", methodObject ), + new Among ( "era~o", -1, 1, "", methodObject ), + new Among ( "ira~o", -1, 1, "", methodObject ), + new Among ( "ar", -1, 1, "", methodObject ), + new Among ( "er", -1, 1, "", methodObject ), + new Among ( "ir", -1, 1, "", methodObject ), + new Among ( "as", -1, 1, "", methodObject ), + new Among ( "adas", 47, 1, "", methodObject ), + new Among ( "idas", 47, 1, "", methodObject ), + new Among ( "ias", 47, 1, "", methodObject ), + new Among ( "arias", 50, 1, "", methodObject ), + new Among ( "erias", 50, 1, "", methodObject ), + new Among ( "irias", 50, 1, "", methodObject ), + new Among ( "aras", 47, 1, "", methodObject ), + new Among ( "eras", 47, 1, "", methodObject ), + new Among ( "iras", 47, 1, "", methodObject ), + new Among ( "avas", 47, 1, "", methodObject ), + new Among ( "es", -1, 1, "", methodObject ), + new Among ( "ardes", 58, 1, "", methodObject ), + new Among ( "erdes", 58, 1, "", methodObject ), + new Among ( "irdes", 58, 1, "", methodObject ), + new Among ( "ares", 58, 1, "", methodObject ), + new Among ( "eres", 58, 1, "", methodObject ), + new Among ( "ires", 58, 1, "", methodObject ), + new Among ( "asses", 58, 1, "", methodObject ), + new Among ( "esses", 58, 1, "", methodObject ), + new Among ( "isses", 58, 1, "", methodObject ), + new Among ( "astes", 58, 1, "", methodObject ), + new Among ( "estes", 58, 1, "", methodObject ), + new Among ( "istes", 58, 1, "", methodObject ), + new Among ( "is", -1, 1, "", methodObject ), + new Among ( "ais", 71, 1, "", methodObject ), + new Among ( "eis", 71, 1, "", methodObject ), + new Among ( "areis", 73, 1, "", methodObject ), + new Among ( "ereis", 73, 1, "", methodObject ), + new Among ( "ireis", 73, 1, "", methodObject ), + new Among ( "\u00E1reis", 73, 1, "", methodObject ), + new Among ( "\u00E9reis", 73, 1, "", methodObject ), + new Among ( "\u00EDreis", 73, 1, "", methodObject ), + new Among ( "\u00E1sseis", 73, 1, "", methodObject ), + new Among ( "\u00E9sseis", 73, 1, "", methodObject ), + new Among ( "\u00EDsseis", 73, 1, "", methodObject ), + new Among ( "\u00E1veis", 73, 1, "", methodObject ), + new Among ( "\u00EDeis", 73, 1, "", methodObject ), + new Among ( "ar\u00EDeis", 84, 1, "", methodObject ), + new Among ( "er\u00EDeis", 84, 1, "", methodObject ), + new Among ( "ir\u00EDeis", 84, 1, "", methodObject ), + new Among ( "ados", -1, 1, "", methodObject ), + new Among ( "idos", -1, 1, "", methodObject ), + new Among ( "amos", -1, 1, "", methodObject ), + new Among ( "\u00E1ramos", 90, 1, "", methodObject ), + new Among ( "\u00E9ramos", 90, 1, "", methodObject ), + new Among ( "\u00EDramos", 90, 1, "", methodObject ), + new Among ( "\u00E1vamos", 90, 1, "", methodObject ), + new Among ( "\u00EDamos", 90, 1, "", methodObject ), + new Among ( "ar\u00EDamos", 95, 1, "", methodObject ), + new Among ( "er\u00EDamos", 95, 1, "", methodObject ), + new Among ( "ir\u00EDamos", 95, 1, "", methodObject ), + new Among ( "emos", -1, 1, "", methodObject ), + new Among ( "aremos", 99, 1, "", methodObject ), + new Among ( "eremos", 99, 1, "", methodObject ), + new Among ( "iremos", 99, 1, "", methodObject ), + new Among ( "\u00E1ssemos", 99, 1, "", methodObject ), + new Among ( "\u00EAssemos", 99, 1, "", methodObject ), + new Among ( "\u00EDssemos", 99, 1, "", methodObject ), + new Among ( "imos", -1, 1, "", methodObject ), + new Among ( "armos", -1, 1, "", methodObject ), + new Among ( "ermos", -1, 1, "", methodObject ), + new Among ( "irmos", -1, 1, "", methodObject ), + new Among ( "\u00E1mos", -1, 1, "", methodObject ), + new Among ( "ar\u00E1s", -1, 1, "", methodObject ), + new Among ( "er\u00E1s", -1, 1, "", methodObject ), + new Among ( "ir\u00E1s", -1, 1, "", methodObject ), + new Among ( "eu", -1, 1, "", methodObject ), + new Among ( "iu", -1, 1, "", methodObject ), + new Among ( "ou", -1, 1, "", methodObject ), + new Among ( "ar\u00E1", -1, 1, "", methodObject ), + new Among ( "er\u00E1", -1, 1, "", methodObject ), + new Among ( "ir\u00E1", -1, 1, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "a", -1, 1, "", methodObject ), + new Among ( "i", -1, 1, "", methodObject ), + new Among ( "o", -1, 1, "", methodObject ), + new Among ( "os", -1, 1, "", methodObject ), + new Among ( "\u00E1", -1, 1, "", methodObject ), + new Among ( "\u00ED", -1, 1, "", methodObject ), + new Among ( "\u00F3", -1, 1, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "e", -1, 1, "", methodObject ), + new Among ( "\u00E7", -1, 2, "", methodObject ), + new Among ( "\u00E9", -1, 1, "", methodObject ), + new Among ( "\u00EA", -1, 1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 }; + + private int I_p2; + private int I_p1; + private int I_pV; + + private void copy_from(portugueseStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_prelude() { + int among_var; + int v_1; + // repeat, line 36 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 36 + // [, line 37 + bra = cursor; + // substring, line 37 + among_var = find_among(a_0, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 37 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 38 + // <-, line 38 + slice_from("a~"); + break; + case 2: + // (, line 39 + // <-, line 39 + slice_from("o~"); + break; + case 3: + // (, line 40 + // next, line 40 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_3; + int v_6; + int v_8; + // (, line 44 + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + // do, line 50 + v_1 = cursor; + lab0: do { + // (, line 50 + // or, line 52 + lab1: do { + v_2 = cursor; + lab2: do { + // (, line 51 + if (!(in_grouping(g_v, 97, 250))) + { + break lab2; + } + // or, line 51 + lab3: do { + v_3 = cursor; + lab4: do { + // (, line 51 + if (!(out_grouping(g_v, 97, 250))) + { + break lab4; + } + // gopast, line 51 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 250))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } while (false); + cursor = v_3; + // (, line 51 + if (!(in_grouping(g_v, 97, 250))) + { + break lab2; + } + // gopast, line 51 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 250))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } while (false); + break lab1; + } while (false); + cursor = v_2; + // (, line 53 + if (!(out_grouping(g_v, 97, 250))) + { + break lab0; + } + // or, line 53 + lab9: do { + v_6 = cursor; + lab10: do { + // (, line 53 + if (!(out_grouping(g_v, 97, 250))) + { + break lab10; + } + // gopast, line 53 + golab11: while(true) + { + lab12: do { + if (!(in_grouping(g_v, 97, 250))) + { + break lab12; + } + break golab11; + } while (false); + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } while (false); + cursor = v_6; + // (, line 53 + if (!(in_grouping(g_v, 97, 250))) + { + break lab0; + } + // next, line 53 + if (cursor >= limit) + { + break lab0; + } + cursor++; + } while (false); + } while (false); + // setmark pV, line 54 + I_pV = cursor; + } while (false); + cursor = v_1; + // do, line 56 + v_8 = cursor; + lab13: do { + // (, line 56 + // gopast, line 57 + golab14: while(true) + { + lab15: do { + if (!(in_grouping(g_v, 97, 250))) + { + break lab15; + } + break golab14; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 57 + golab16: while(true) + { + lab17: do { + if (!(out_grouping(g_v, 97, 250))) + { + break lab17; + } + break golab16; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p1, line 57 + I_p1 = cursor; + // gopast, line 58 + golab18: while(true) + { + lab19: do { + if (!(in_grouping(g_v, 97, 250))) + { + break lab19; + } + break golab18; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 58 + golab20: while(true) + { + lab21: do { + if (!(out_grouping(g_v, 97, 250))) + { + break lab21; + } + break golab20; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p2, line 58 + I_p2 = cursor; + } while (false); + cursor = v_8; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 62 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 62 + // [, line 63 + bra = cursor; + // substring, line 63 + among_var = find_among(a_1, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 63 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 64 + // <-, line 64 + slice_from("\u00E3"); + break; + case 2: + // (, line 65 + // <-, line 65 + slice_from("\u00F5"); + break; + case 3: + // (, line 66 + // next, line 66 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_RV() { + if (!(I_pV <= 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_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 76 + // [, line 77 + ket = cursor; + // substring, line 77 + among_var = find_among_b(a_5, 45); + if (among_var == 0) + { + return false; + } + // ], line 77 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 92 + // call R2, line 93 + if (!r_R2()) + { + return false; + } + // delete, line 93 + slice_del(); + break; + case 2: + // (, line 97 + // call R2, line 98 + if (!r_R2()) + { + return false; + } + // <-, line 98 + slice_from("log"); + break; + case 3: + // (, line 101 + // call R2, line 102 + if (!r_R2()) + { + return false; + } + // <-, line 102 + slice_from("u"); + break; + case 4: + // (, line 105 + // call R2, line 106 + if (!r_R2()) + { + return false; + } + // <-, line 106 + slice_from("ente"); + break; + case 5: + // (, line 109 + // call R1, line 110 + if (!r_R1()) + { + return false; + } + // delete, line 110 + slice_del(); + // try, line 111 + v_1 = limit - cursor; + lab0: do { + // (, line 111 + // [, line 112 + ket = cursor; + // substring, line 112 + among_var = find_among_b(a_2, 4); + if (among_var == 0) + { + cursor = limit - v_1; + break lab0; + } + // ], line 112 + bra = cursor; + // call R2, line 112 + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 112 + slice_del(); + switch(among_var) { + case 0: + cursor = limit - v_1; + break lab0; + case 1: + // (, line 113 + // [, line 113 + ket = cursor; + // literal, line 113 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 113 + bra = cursor; + // call R2, line 113 + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 113 + slice_del(); + break; + } + } while (false); + break; + case 6: + // (, line 121 + // call R2, line 122 + if (!r_R2()) + { + return false; + } + // delete, line 122 + slice_del(); + // try, line 123 + v_2 = limit - cursor; + lab1: do { + // (, line 123 + // [, line 124 + ket = cursor; + // substring, line 124 + among_var = find_among_b(a_3, 3); + if (among_var == 0) + { + cursor = limit - v_2; + break lab1; + } + // ], line 124 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_2; + break lab1; + case 1: + // (, line 127 + // call R2, line 127 + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 127 + slice_del(); + break; + } + } while (false); + break; + case 7: + // (, line 133 + // call R2, line 134 + if (!r_R2()) + { + return false; + } + // delete, line 134 + slice_del(); + // try, line 135 + v_3 = limit - cursor; + lab2: do { + // (, line 135 + // [, line 136 + ket = cursor; + // substring, line 136 + among_var = find_among_b(a_4, 3); + if (among_var == 0) + { + cursor = limit - v_3; + break lab2; + } + // ], line 136 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_3; + break lab2; + case 1: + // (, line 139 + // call R2, line 139 + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + // delete, line 139 + slice_del(); + break; + } + } while (false); + break; + case 8: + // (, line 145 + // call R2, line 146 + if (!r_R2()) + { + return false; + } + // delete, line 146 + slice_del(); + // try, line 147 + v_4 = limit - cursor; + lab3: do { + // (, line 147 + // [, line 148 + ket = cursor; + // literal, line 148 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_4; + break lab3; + } + // ], line 148 + bra = cursor; + // call R2, line 148 + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + // delete, line 148 + slice_del(); + } while (false); + break; + case 9: + // (, line 152 + // call RV, line 153 + if (!r_RV()) + { + return false; + } + // literal, line 153 + if (!(eq_s_b(1, "e"))) + { + return false; + } + // <-, line 154 + slice_from("ir"); + break; + } + return true; + } + + private boolean r_verb_suffix() { + int among_var; + int v_1; + int v_2; + // setlimit, line 159 + v_1 = limit - cursor; + // tomark, line 159 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 159 + // [, line 160 + ket = cursor; + // substring, line 160 + among_var = find_among_b(a_6, 120); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 160 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 179 + // delete, line 179 + slice_del(); + break; + } + limit_backward = v_2; + return true; + } + + private boolean r_residual_suffix() { + int among_var; + // (, line 183 + // [, line 184 + ket = cursor; + // substring, line 184 + among_var = find_among_b(a_7, 7); + if (among_var == 0) + { + return false; + } + // ], line 184 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 187 + // call RV, line 187 + if (!r_RV()) + { + return false; + } + // delete, line 187 + slice_del(); + break; + } + return true; + } + + private boolean r_residual_form() { + int among_var; + int v_1; + int v_2; + int v_3; + // (, line 191 + // [, line 192 + ket = cursor; + // substring, line 192 + among_var = find_among_b(a_8, 4); + if (among_var == 0) + { + return false; + } + // ], line 192 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 194 + // call RV, line 194 + if (!r_RV()) + { + return false; + } + // delete, line 194 + slice_del(); + // [, line 194 + ket = cursor; + // or, line 194 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 194 + // literal, line 194 + if (!(eq_s_b(1, "u"))) + { + break lab1; + } + // ], line 194 + bra = cursor; + // test, line 194 + v_2 = limit - cursor; + // literal, line 194 + if (!(eq_s_b(1, "g"))) + { + break lab1; + } + cursor = limit - v_2; + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 195 + // literal, line 195 + if (!(eq_s_b(1, "i"))) + { + return false; + } + // ], line 195 + bra = cursor; + // test, line 195 + v_3 = limit - cursor; + // literal, line 195 + if (!(eq_s_b(1, "c"))) + { + return false; + } + cursor = limit - v_3; + } while (false); + // call RV, line 195 + if (!r_RV()) + { + return false; + } + // delete, line 195 + slice_del(); + break; + case 2: + // (, line 196 + // <-, line 196 + slice_from("c"); + break; + } + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 201 + // do, line 202 + v_1 = cursor; + lab0: do { + // call prelude, line 202 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 203 + v_2 = cursor; + lab1: do { + // call mark_regions, line 203 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 204 + limit_backward = cursor; cursor = limit; + // (, line 204 + // do, line 205 + v_3 = limit - cursor; + lab2: do { + // (, line 205 + // or, line 209 + lab3: do { + v_4 = limit - cursor; + lab4: do { + // (, line 206 + // and, line 207 + v_5 = limit - cursor; + // (, line 206 + // or, line 206 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // call standard_suffix, line 206 + if (!r_standard_suffix()) + { + break lab6; + } + break lab5; + } while (false); + cursor = limit - v_6; + // call verb_suffix, line 206 + if (!r_verb_suffix()) + { + break lab4; + } + } while (false); + cursor = limit - v_5; + // do, line 207 + v_7 = limit - cursor; + lab7: do { + // (, line 207 + // [, line 207 + ket = cursor; + // literal, line 207 + if (!(eq_s_b(1, "i"))) + { + break lab7; + } + // ], line 207 + bra = cursor; + // test, line 207 + v_8 = limit - cursor; + // literal, line 207 + if (!(eq_s_b(1, "c"))) + { + break lab7; + } + cursor = limit - v_8; + // call RV, line 207 + if (!r_RV()) + { + break lab7; + } + // delete, line 207 + slice_del(); + } while (false); + cursor = limit - v_7; + break lab3; + } while (false); + cursor = limit - v_4; + // call residual_suffix, line 209 + if (!r_residual_suffix()) + { + break lab2; + } + } while (false); + } while (false); + cursor = limit - v_3; + // do, line 211 + v_9 = limit - cursor; + lab8: do { + // call residual_form, line 211 + if (!r_residual_form()) + { + break lab8; + } + } while (false); + cursor = limit - v_9; + cursor = limit_backward; // do, line 213 + v_10 = cursor; + lab9: do { + // call postlude, line 213 + if (!r_postlude()) + { + break lab9; + } + } while (false); + cursor = v_10; + return true; + } + + public boolean equals( Object o ) { + return o instanceof portugueseStemmer; + } + + public int hashCode() { + return portugueseStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/romanianStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/romanianStemmer.java new file mode 100755 index 000000000..2184f9862 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/romanianStemmer.java @@ -0,0 +1,1040 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class romanianStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static romanianStemmer methodObject = new romanianStemmer (); + + private final static Among a_0[] = { + new Among ( "", -1, 3, "", methodObject ), + new Among ( "I", 0, 1, "", methodObject ), + new Among ( "U", 0, 2, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "ea", -1, 3, "", methodObject ), + new Among ( "a\u0163ia", -1, 7, "", methodObject ), + new Among ( "aua", -1, 2, "", methodObject ), + new Among ( "iua", -1, 4, "", methodObject ), + new Among ( "a\u0163ie", -1, 7, "", methodObject ), + new Among ( "ele", -1, 3, "", methodObject ), + new Among ( "ile", -1, 5, "", methodObject ), + new Among ( "iile", 6, 4, "", methodObject ), + new Among ( "iei", -1, 4, "", methodObject ), + new Among ( "atei", -1, 6, "", methodObject ), + new Among ( "ii", -1, 4, "", methodObject ), + new Among ( "ului", -1, 1, "", methodObject ), + new Among ( "ul", -1, 1, "", methodObject ), + new Among ( "elor", -1, 3, "", methodObject ), + new Among ( "ilor", -1, 4, "", methodObject ), + new Among ( "iilor", 14, 4, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "icala", -1, 4, "", methodObject ), + new Among ( "iciva", -1, 4, "", methodObject ), + new Among ( "ativa", -1, 5, "", methodObject ), + new Among ( "itiva", -1, 6, "", methodObject ), + new Among ( "icale", -1, 4, "", methodObject ), + new Among ( "a\u0163iune", -1, 5, "", methodObject ), + new Among ( "i\u0163iune", -1, 6, "", methodObject ), + new Among ( "atoare", -1, 5, "", methodObject ), + new Among ( "itoare", -1, 6, "", methodObject ), + new Among ( "\u0103toare", -1, 5, "", methodObject ), + new Among ( "icitate", -1, 4, "", methodObject ), + new Among ( "abilitate", -1, 1, "", methodObject ), + new Among ( "ibilitate", -1, 2, "", methodObject ), + new Among ( "ivitate", -1, 3, "", methodObject ), + new Among ( "icive", -1, 4, "", methodObject ), + new Among ( "ative", -1, 5, "", methodObject ), + new Among ( "itive", -1, 6, "", methodObject ), + new Among ( "icali", -1, 4, "", methodObject ), + new Among ( "atori", -1, 5, "", methodObject ), + new Among ( "icatori", 18, 4, "", methodObject ), + new Among ( "itori", -1, 6, "", methodObject ), + new Among ( "\u0103tori", -1, 5, "", methodObject ), + new Among ( "icitati", -1, 4, "", methodObject ), + new Among ( "abilitati", -1, 1, "", methodObject ), + new Among ( "ivitati", -1, 3, "", methodObject ), + new Among ( "icivi", -1, 4, "", methodObject ), + new Among ( "ativi", -1, 5, "", methodObject ), + new Among ( "itivi", -1, 6, "", methodObject ), + new Among ( "icit\u0103i", -1, 4, "", methodObject ), + new Among ( "abilit\u0103i", -1, 1, "", methodObject ), + new Among ( "ivit\u0103i", -1, 3, "", methodObject ), + new Among ( "icit\u0103\u0163i", -1, 4, "", methodObject ), + new Among ( "abilit\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "ivit\u0103\u0163i", -1, 3, "", methodObject ), + new Among ( "ical", -1, 4, "", methodObject ), + new Among ( "ator", -1, 5, "", methodObject ), + new Among ( "icator", 35, 4, "", methodObject ), + new Among ( "itor", -1, 6, "", methodObject ), + new Among ( "\u0103tor", -1, 5, "", methodObject ), + new Among ( "iciv", -1, 4, "", methodObject ), + new Among ( "ativ", -1, 5, "", methodObject ), + new Among ( "itiv", -1, 6, "", methodObject ), + new Among ( "ical\u0103", -1, 4, "", methodObject ), + new Among ( "iciv\u0103", -1, 4, "", methodObject ), + new Among ( "ativ\u0103", -1, 5, "", methodObject ), + new Among ( "itiv\u0103", -1, 6, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ica", -1, 1, "", methodObject ), + new Among ( "abila", -1, 1, "", methodObject ), + new Among ( "ibila", -1, 1, "", methodObject ), + new Among ( "oasa", -1, 1, "", methodObject ), + new Among ( "ata", -1, 1, "", methodObject ), + new Among ( "ita", -1, 1, "", methodObject ), + new Among ( "anta", -1, 1, "", methodObject ), + new Among ( "ista", -1, 3, "", methodObject ), + new Among ( "uta", -1, 1, "", methodObject ), + new Among ( "iva", -1, 1, "", methodObject ), + new Among ( "ic", -1, 1, "", methodObject ), + new Among ( "ice", -1, 1, "", methodObject ), + new Among ( "abile", -1, 1, "", methodObject ), + new Among ( "ibile", -1, 1, "", methodObject ), + new Among ( "isme", -1, 3, "", methodObject ), + new Among ( "iune", -1, 2, "", methodObject ), + new Among ( "oase", -1, 1, "", methodObject ), + new Among ( "ate", -1, 1, "", methodObject ), + new Among ( "itate", 17, 1, "", methodObject ), + new Among ( "ite", -1, 1, "", methodObject ), + new Among ( "ante", -1, 1, "", methodObject ), + new Among ( "iste", -1, 3, "", methodObject ), + new Among ( "ute", -1, 1, "", methodObject ), + new Among ( "ive", -1, 1, "", methodObject ), + new Among ( "ici", -1, 1, "", methodObject ), + new Among ( "abili", -1, 1, "", methodObject ), + new Among ( "ibili", -1, 1, "", methodObject ), + new Among ( "iuni", -1, 2, "", methodObject ), + new Among ( "atori", -1, 1, "", methodObject ), + new Among ( "osi", -1, 1, "", methodObject ), + new Among ( "ati", -1, 1, "", methodObject ), + new Among ( "itati", 30, 1, "", methodObject ), + new Among ( "iti", -1, 1, "", methodObject ), + new Among ( "anti", -1, 1, "", methodObject ), + new Among ( "isti", -1, 3, "", methodObject ), + new Among ( "uti", -1, 1, "", methodObject ), + new Among ( "i\u015Fti", -1, 3, "", methodObject ), + new Among ( "ivi", -1, 1, "", methodObject ), + new Among ( "it\u0103i", -1, 1, "", methodObject ), + new Among ( "o\u015Fi", -1, 1, "", methodObject ), + new Among ( "it\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "abil", -1, 1, "", methodObject ), + new Among ( "ibil", -1, 1, "", methodObject ), + new Among ( "ism", -1, 3, "", methodObject ), + new Among ( "ator", -1, 1, "", methodObject ), + new Among ( "os", -1, 1, "", methodObject ), + new Among ( "at", -1, 1, "", methodObject ), + new Among ( "it", -1, 1, "", methodObject ), + new Among ( "ant", -1, 1, "", methodObject ), + new Among ( "ist", -1, 3, "", methodObject ), + new Among ( "ut", -1, 1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ), + new Among ( "ic\u0103", -1, 1, "", methodObject ), + new Among ( "abil\u0103", -1, 1, "", methodObject ), + new Among ( "ibil\u0103", -1, 1, "", methodObject ), + new Among ( "oas\u0103", -1, 1, "", methodObject ), + new Among ( "at\u0103", -1, 1, "", methodObject ), + new Among ( "it\u0103", -1, 1, "", methodObject ), + new Among ( "ant\u0103", -1, 1, "", methodObject ), + new Among ( "ist\u0103", -1, 3, "", methodObject ), + new Among ( "ut\u0103", -1, 1, "", methodObject ), + new Among ( "iv\u0103", -1, 1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "ea", -1, 1, "", methodObject ), + new Among ( "ia", -1, 1, "", methodObject ), + new Among ( "esc", -1, 1, "", methodObject ), + new Among ( "\u0103sc", -1, 1, "", methodObject ), + new Among ( "ind", -1, 1, "", methodObject ), + new Among ( "\u00E2nd", -1, 1, "", methodObject ), + new Among ( "are", -1, 1, "", methodObject ), + new Among ( "ere", -1, 1, "", methodObject ), + new Among ( "ire", -1, 1, "", methodObject ), + new Among ( "\u00E2re", -1, 1, "", methodObject ), + new Among ( "se", -1, 2, "", methodObject ), + new Among ( "ase", 10, 1, "", methodObject ), + new Among ( "sese", 10, 2, "", methodObject ), + new Among ( "ise", 10, 1, "", methodObject ), + new Among ( "use", 10, 1, "", methodObject ), + new Among ( "\u00E2se", 10, 1, "", methodObject ), + new Among ( "e\u015Fte", -1, 1, "", methodObject ), + new Among ( "\u0103\u015Fte", -1, 1, "", methodObject ), + new Among ( "eze", -1, 1, "", methodObject ), + new Among ( "ai", -1, 1, "", methodObject ), + new Among ( "eai", 19, 1, "", methodObject ), + new Among ( "iai", 19, 1, "", methodObject ), + new Among ( "sei", -1, 2, "", methodObject ), + new Among ( "e\u015Fti", -1, 1, "", methodObject ), + new Among ( "\u0103\u015Fti", -1, 1, "", methodObject ), + new Among ( "ui", -1, 1, "", methodObject ), + new Among ( "ezi", -1, 1, "", methodObject ), + new Among ( "\u00E2i", -1, 1, "", methodObject ), + new Among ( "a\u015Fi", -1, 1, "", methodObject ), + new Among ( "se\u015Fi", -1, 2, "", methodObject ), + new Among ( "ase\u015Fi", 29, 1, "", methodObject ), + new Among ( "sese\u015Fi", 29, 2, "", methodObject ), + new Among ( "ise\u015Fi", 29, 1, "", methodObject ), + new Among ( "use\u015Fi", 29, 1, "", methodObject ), + new Among ( "\u00E2se\u015Fi", 29, 1, "", methodObject ), + new Among ( "i\u015Fi", -1, 1, "", methodObject ), + new Among ( "u\u015Fi", -1, 1, "", methodObject ), + new Among ( "\u00E2\u015Fi", -1, 1, "", methodObject ), + new Among ( "a\u0163i", -1, 2, "", methodObject ), + new Among ( "ea\u0163i", 38, 1, "", methodObject ), + new Among ( "ia\u0163i", 38, 1, "", methodObject ), + new Among ( "e\u0163i", -1, 2, "", methodObject ), + new Among ( "i\u0163i", -1, 2, "", methodObject ), + new Among ( "\u00E2\u0163i", -1, 2, "", methodObject ), + new Among ( "ar\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "ser\u0103\u0163i", -1, 2, "", methodObject ), + new Among ( "aser\u0103\u0163i", 45, 1, "", methodObject ), + new Among ( "seser\u0103\u0163i", 45, 2, "", methodObject ), + new Among ( "iser\u0103\u0163i", 45, 1, "", methodObject ), + new Among ( "user\u0103\u0163i", 45, 1, "", methodObject ), + new Among ( "\u00E2ser\u0103\u0163i", 45, 1, "", methodObject ), + new Among ( "ir\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "ur\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "\u00E2r\u0103\u0163i", -1, 1, "", methodObject ), + new Among ( "am", -1, 1, "", methodObject ), + new Among ( "eam", 54, 1, "", methodObject ), + new Among ( "iam", 54, 1, "", methodObject ), + new Among ( "em", -1, 2, "", methodObject ), + new Among ( "asem", 57, 1, "", methodObject ), + new Among ( "sesem", 57, 2, "", methodObject ), + new Among ( "isem", 57, 1, "", methodObject ), + new Among ( "usem", 57, 1, "", methodObject ), + new Among ( "\u00E2sem", 57, 1, "", methodObject ), + new Among ( "im", -1, 2, "", methodObject ), + new Among ( "\u00E2m", -1, 2, "", methodObject ), + new Among ( "\u0103m", -1, 2, "", methodObject ), + new Among ( "ar\u0103m", 65, 1, "", methodObject ), + new Among ( "ser\u0103m", 65, 2, "", methodObject ), + new Among ( "aser\u0103m", 67, 1, "", methodObject ), + new Among ( "seser\u0103m", 67, 2, "", methodObject ), + new Among ( "iser\u0103m", 67, 1, "", methodObject ), + new Among ( "user\u0103m", 67, 1, "", methodObject ), + new Among ( "\u00E2ser\u0103m", 67, 1, "", methodObject ), + new Among ( "ir\u0103m", 65, 1, "", methodObject ), + new Among ( "ur\u0103m", 65, 1, "", methodObject ), + new Among ( "\u00E2r\u0103m", 65, 1, "", methodObject ), + new Among ( "au", -1, 1, "", methodObject ), + new Among ( "eau", 76, 1, "", methodObject ), + new Among ( "iau", 76, 1, "", methodObject ), + new Among ( "indu", -1, 1, "", methodObject ), + new Among ( "\u00E2ndu", -1, 1, "", methodObject ), + new Among ( "ez", -1, 1, "", methodObject ), + new Among ( "easc\u0103", -1, 1, "", methodObject ), + new Among ( "ar\u0103", -1, 1, "", methodObject ), + new Among ( "ser\u0103", -1, 2, "", methodObject ), + new Among ( "aser\u0103", 84, 1, "", methodObject ), + new Among ( "seser\u0103", 84, 2, "", methodObject ), + new Among ( "iser\u0103", 84, 1, "", methodObject ), + new Among ( "user\u0103", 84, 1, "", methodObject ), + new Among ( "\u00E2ser\u0103", 84, 1, "", methodObject ), + new Among ( "ir\u0103", -1, 1, "", methodObject ), + new Among ( "ur\u0103", -1, 1, "", methodObject ), + new Among ( "\u00E2r\u0103", -1, 1, "", methodObject ), + new Among ( "eaz\u0103", -1, 1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "a", -1, 1, "", methodObject ), + new Among ( "e", -1, 1, "", methodObject ), + new Among ( "ie", 1, 1, "", methodObject ), + new Among ( "i", -1, 1, "", methodObject ), + new Among ( "\u0103", -1, 1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 }; + + private boolean B_standard_suffix_removed; + private int I_p2; + private int I_p1; + private int I_pV; + + private void copy_from(romanianStemmer other) { + B_standard_suffix_removed = other.B_standard_suffix_removed; + I_p2 = other.I_p2; + I_p1 = other.I_p1; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_prelude() { + int v_1; + int v_2; + int v_3; + // (, line 31 + // repeat, line 32 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // goto, line 32 + golab2: while(true) + { + v_2 = cursor; + lab3: do { + // (, line 32 + if (!(in_grouping(g_v, 97, 259))) + { + break lab3; + } + // [, line 33 + bra = cursor; + // or, line 33 + lab4: do { + v_3 = cursor; + lab5: do { + // (, line 33 + // literal, line 33 + if (!(eq_s(1, "u"))) + { + break lab5; + } + // ], line 33 + ket = cursor; + if (!(in_grouping(g_v, 97, 259))) + { + break lab5; + } + // <-, line 33 + slice_from("U"); + break lab4; + } while (false); + cursor = v_3; + // (, line 34 + // literal, line 34 + if (!(eq_s(1, "i"))) + { + break lab3; + } + // ], line 34 + ket = cursor; + if (!(in_grouping(g_v, 97, 259))) + { + break lab3; + } + // <-, line 34 + slice_from("I"); + } while (false); + cursor = v_2; + break golab2; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_3; + int v_6; + int v_8; + // (, line 38 + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + // do, line 44 + v_1 = cursor; + lab0: do { + // (, line 44 + // or, line 46 + lab1: do { + v_2 = cursor; + lab2: do { + // (, line 45 + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + // or, line 45 + lab3: do { + v_3 = cursor; + lab4: do { + // (, line 45 + if (!(out_grouping(g_v, 97, 259))) + { + break lab4; + } + // gopast, line 45 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 259))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } while (false); + cursor = v_3; + // (, line 45 + if (!(in_grouping(g_v, 97, 259))) + { + break lab2; + } + // gopast, line 45 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 259))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } while (false); + break lab1; + } while (false); + cursor = v_2; + // (, line 47 + if (!(out_grouping(g_v, 97, 259))) + { + break lab0; + } + // or, line 47 + lab9: do { + v_6 = cursor; + lab10: do { + // (, line 47 + if (!(out_grouping(g_v, 97, 259))) + { + break lab10; + } + // gopast, line 47 + golab11: while(true) + { + lab12: do { + if (!(in_grouping(g_v, 97, 259))) + { + break lab12; + } + break golab11; + } while (false); + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } while (false); + cursor = v_6; + // (, line 47 + if (!(in_grouping(g_v, 97, 259))) + { + break lab0; + } + // next, line 47 + if (cursor >= limit) + { + break lab0; + } + cursor++; + } while (false); + } while (false); + // setmark pV, line 48 + I_pV = cursor; + } while (false); + cursor = v_1; + // do, line 50 + v_8 = cursor; + lab13: do { + // (, line 50 + // gopast, line 51 + golab14: while(true) + { + lab15: do { + if (!(in_grouping(g_v, 97, 259))) + { + break lab15; + } + break golab14; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 51 + golab16: while(true) + { + lab17: do { + if (!(out_grouping(g_v, 97, 259))) + { + break lab17; + } + break golab16; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p1, line 51 + I_p1 = cursor; + // gopast, line 52 + golab18: while(true) + { + lab19: do { + if (!(in_grouping(g_v, 97, 259))) + { + break lab19; + } + break golab18; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 52 + golab20: while(true) + { + lab21: do { + if (!(out_grouping(g_v, 97, 259))) + { + break lab21; + } + break golab20; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p2, line 52 + I_p2 = cursor; + } while (false); + cursor = v_8; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 56 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 56 + // [, line 58 + bra = cursor; + // substring, line 58 + among_var = find_among(a_0, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 58 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 59 + // <-, line 59 + slice_from("i"); + break; + case 2: + // (, line 60 + // <-, line 60 + slice_from("u"); + break; + case 3: + // (, line 61 + // next, line 61 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_RV() { + if (!(I_pV <= 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_step_0() { + int among_var; + int v_1; + // (, line 72 + // [, line 73 + ket = cursor; + // substring, line 73 + among_var = find_among_b(a_1, 16); + if (among_var == 0) + { + return false; + } + // ], line 73 + bra = cursor; + // call R1, line 73 + if (!r_R1()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 75 + // delete, line 75 + slice_del(); + break; + case 2: + // (, line 77 + // <-, line 77 + slice_from("a"); + break; + case 3: + // (, line 79 + // <-, line 79 + slice_from("e"); + break; + case 4: + // (, line 81 + // <-, line 81 + slice_from("i"); + break; + case 5: + // (, line 83 + // not, line 83 + { + v_1 = limit - cursor; + lab0: do { + // literal, line 83 + if (!(eq_s_b(2, "ab"))) + { + break lab0; + } + return false; + } while (false); + cursor = limit - v_1; + } + // <-, line 83 + slice_from("i"); + break; + case 6: + // (, line 85 + // <-, line 85 + slice_from("at"); + break; + case 7: + // (, line 87 + // <-, line 87 + slice_from("a\u0163i"); + break; + } + return true; + } + + private boolean r_combo_suffix() { + int among_var; + int v_1; + // test, line 91 + v_1 = limit - cursor; + // (, line 91 + // [, line 92 + ket = cursor; + // substring, line 92 + among_var = find_among_b(a_2, 46); + if (among_var == 0) + { + return false; + } + // ], line 92 + bra = cursor; + // call R1, line 92 + if (!r_R1()) + { + return false; + } + // (, line 92 + switch(among_var) { + case 0: + return false; + case 1: + // (, line 100 + // <-, line 101 + slice_from("abil"); + break; + case 2: + // (, line 103 + // <-, line 104 + slice_from("ibil"); + break; + case 3: + // (, line 106 + // <-, line 107 + slice_from("iv"); + break; + case 4: + // (, line 112 + // <-, line 113 + slice_from("ic"); + break; + case 5: + // (, line 117 + // <-, line 118 + slice_from("at"); + break; + case 6: + // (, line 121 + // <-, line 122 + slice_from("it"); + break; + } + // set standard_suffix_removed, line 125 + B_standard_suffix_removed = true; + cursor = limit - v_1; + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + // (, line 129 + // unset standard_suffix_removed, line 130 + B_standard_suffix_removed = false; + // repeat, line 131 + replab0: while(true) + { + v_1 = limit - cursor; + lab1: do { + // call combo_suffix, line 131 + if (!r_combo_suffix()) + { + break lab1; + } + continue replab0; + } while (false); + cursor = limit - v_1; + break replab0; + } + // [, line 132 + ket = cursor; + // substring, line 132 + among_var = find_among_b(a_3, 62); + if (among_var == 0) + { + return false; + } + // ], line 132 + bra = cursor; + // call R2, line 132 + if (!r_R2()) + { + return false; + } + // (, line 132 + switch(among_var) { + case 0: + return false; + case 1: + // (, line 148 + // delete, line 149 + slice_del(); + break; + case 2: + // (, line 151 + // literal, line 152 + if (!(eq_s_b(1, "\u0163"))) + { + return false; + } + // ], line 152 + bra = cursor; + // <-, line 152 + slice_from("t"); + break; + case 3: + // (, line 155 + // <-, line 156 + slice_from("ist"); + break; + } + // set standard_suffix_removed, line 160 + B_standard_suffix_removed = true; + return true; + } + + private boolean r_verb_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + // setlimit, line 164 + v_1 = limit - cursor; + // tomark, line 164 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 164 + // [, line 165 + ket = cursor; + // substring, line 165 + among_var = find_among_b(a_4, 94); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 165 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 200 + // or, line 200 + lab0: do { + v_3 = limit - cursor; + lab1: do { + if (!(out_grouping_b(g_v, 97, 259))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_3; + // literal, line 200 + if (!(eq_s_b(1, "u"))) + { + limit_backward = v_2; + return false; + } + } while (false); + // delete, line 200 + slice_del(); + break; + case 2: + // (, line 214 + // delete, line 214 + slice_del(); + break; + } + limit_backward = v_2; + return true; + } + + private boolean r_vowel_suffix() { + int among_var; + // (, line 218 + // [, line 219 + ket = cursor; + // substring, line 219 + among_var = find_among_b(a_5, 5); + if (among_var == 0) + { + return false; + } + // ], line 219 + bra = cursor; + // call RV, line 219 + if (!r_RV()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 220 + // delete, line 220 + slice_del(); + break; + } + return true; + } + + public boolean stem() { + 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 225 + // do, line 226 + v_1 = cursor; + lab0: do { + // call prelude, line 226 + if (!r_prelude()) + { + break lab0; + } + } while (false); + cursor = v_1; + // do, line 227 + v_2 = cursor; + lab1: do { + // call mark_regions, line 227 + if (!r_mark_regions()) + { + break lab1; + } + } while (false); + cursor = v_2; + // backwards, line 228 + limit_backward = cursor; cursor = limit; + // (, line 228 + // do, line 229 + v_3 = limit - cursor; + lab2: do { + // call step_0, line 229 + if (!r_step_0()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 230 + v_4 = limit - cursor; + lab3: do { + // call standard_suffix, line 230 + if (!r_standard_suffix()) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + // do, line 231 + v_5 = limit - cursor; + lab4: do { + // (, line 231 + // or, line 231 + lab5: do { + v_6 = limit - cursor; + lab6: do { + // Boolean test standard_suffix_removed, line 231 + if (!(B_standard_suffix_removed)) + { + break lab6; + } + break lab5; + } while (false); + cursor = limit - v_6; + // call verb_suffix, line 231 + if (!r_verb_suffix()) + { + break lab4; + } + } while (false); + } while (false); + cursor = limit - v_5; + // do, line 232 + v_7 = limit - cursor; + lab7: do { + // call vowel_suffix, line 232 + if (!r_vowel_suffix()) + { + break lab7; + } + } while (false); + cursor = limit - v_7; + cursor = limit_backward; // do, line 234 + v_8 = cursor; + lab8: do { + // call postlude, line 234 + if (!r_postlude()) + { + break lab8; + } + } while (false); + cursor = v_8; + return true; + } + + public boolean equals( Object o ) { + return o instanceof romanianStemmer; + } + + public int hashCode() { + return romanianStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/russianStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/russianStemmer.java new file mode 100755 index 000000000..456f51e35 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/russianStemmer.java @@ -0,0 +1,743 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class russianStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static russianStemmer methodObject = new russianStemmer (); + + private final static Among a_0[] = { + new Among ( "\u0432", -1, 1, "", methodObject ), + new Among ( "\u0438\u0432", 0, 2, "", methodObject ), + new Among ( "\u044B\u0432", 0, 2, "", methodObject ), + new Among ( "\u0432\u0448\u0438", -1, 1, "", methodObject ), + new Among ( "\u0438\u0432\u0448\u0438", 3, 2, "", methodObject ), + new Among ( "\u044B\u0432\u0448\u0438", 3, 2, "", methodObject ), + new Among ( "\u0432\u0448\u0438\u0441\u044C", -1, 1, "", methodObject ), + new Among ( "\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2, "", methodObject ), + new Among ( "\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "\u0435\u0435", -1, 1, "", methodObject ), + new Among ( "\u0438\u0435", -1, 1, "", methodObject ), + new Among ( "\u043E\u0435", -1, 1, "", methodObject ), + new Among ( "\u044B\u0435", -1, 1, "", methodObject ), + new Among ( "\u0438\u043C\u0438", -1, 1, "", methodObject ), + new Among ( "\u044B\u043C\u0438", -1, 1, "", methodObject ), + new Among ( "\u0435\u0439", -1, 1, "", methodObject ), + new Among ( "\u0438\u0439", -1, 1, "", methodObject ), + new Among ( "\u043E\u0439", -1, 1, "", methodObject ), + new Among ( "\u044B\u0439", -1, 1, "", methodObject ), + new Among ( "\u0435\u043C", -1, 1, "", methodObject ), + new Among ( "\u0438\u043C", -1, 1, "", methodObject ), + new Among ( "\u043E\u043C", -1, 1, "", methodObject ), + new Among ( "\u044B\u043C", -1, 1, "", methodObject ), + new Among ( "\u0435\u0433\u043E", -1, 1, "", methodObject ), + new Among ( "\u043E\u0433\u043E", -1, 1, "", methodObject ), + new Among ( "\u0435\u043C\u0443", -1, 1, "", methodObject ), + new Among ( "\u043E\u043C\u0443", -1, 1, "", methodObject ), + new Among ( "\u0438\u0445", -1, 1, "", methodObject ), + new Among ( "\u044B\u0445", -1, 1, "", methodObject ), + new Among ( "\u0435\u044E", -1, 1, "", methodObject ), + new Among ( "\u043E\u044E", -1, 1, "", methodObject ), + new Among ( "\u0443\u044E", -1, 1, "", methodObject ), + new Among ( "\u044E\u044E", -1, 1, "", methodObject ), + new Among ( "\u0430\u044F", -1, 1, "", methodObject ), + new Among ( "\u044F\u044F", -1, 1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "\u0435\u043C", -1, 1, "", methodObject ), + new Among ( "\u043D\u043D", -1, 1, "", methodObject ), + new Among ( "\u0432\u0448", -1, 1, "", methodObject ), + new Among ( "\u0438\u0432\u0448", 2, 2, "", methodObject ), + new Among ( "\u044B\u0432\u0448", 2, 2, "", methodObject ), + new Among ( "\u0449", -1, 1, "", methodObject ), + new Among ( "\u044E\u0449", 5, 1, "", methodObject ), + new Among ( "\u0443\u044E\u0449", 6, 2, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "\u0441\u044C", -1, 1, "", methodObject ), + new Among ( "\u0441\u044F", -1, 1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "\u043B\u0430", -1, 1, "", methodObject ), + new Among ( "\u0438\u043B\u0430", 0, 2, "", methodObject ), + new Among ( "\u044B\u043B\u0430", 0, 2, "", methodObject ), + new Among ( "\u043D\u0430", -1, 1, "", methodObject ), + new Among ( "\u0435\u043D\u0430", 3, 2, "", methodObject ), + new Among ( "\u0435\u0442\u0435", -1, 1, "", methodObject ), + new Among ( "\u0438\u0442\u0435", -1, 2, "", methodObject ), + new Among ( "\u0439\u0442\u0435", -1, 1, "", methodObject ), + new Among ( "\u0435\u0439\u0442\u0435", 7, 2, "", methodObject ), + new Among ( "\u0443\u0439\u0442\u0435", 7, 2, "", methodObject ), + new Among ( "\u043B\u0438", -1, 1, "", methodObject ), + new Among ( "\u0438\u043B\u0438", 10, 2, "", methodObject ), + new Among ( "\u044B\u043B\u0438", 10, 2, "", methodObject ), + new Among ( "\u0439", -1, 1, "", methodObject ), + new Among ( "\u0435\u0439", 13, 2, "", methodObject ), + new Among ( "\u0443\u0439", 13, 2, "", methodObject ), + new Among ( "\u043B", -1, 1, "", methodObject ), + new Among ( "\u0438\u043B", 16, 2, "", methodObject ), + new Among ( "\u044B\u043B", 16, 2, "", methodObject ), + new Among ( "\u0435\u043C", -1, 1, "", methodObject ), + new Among ( "\u0438\u043C", -1, 2, "", methodObject ), + new Among ( "\u044B\u043C", -1, 2, "", methodObject ), + new Among ( "\u043D", -1, 1, "", methodObject ), + new Among ( "\u0435\u043D", 22, 2, "", methodObject ), + new Among ( "\u043B\u043E", -1, 1, "", methodObject ), + new Among ( "\u0438\u043B\u043E", 24, 2, "", methodObject ), + new Among ( "\u044B\u043B\u043E", 24, 2, "", methodObject ), + new Among ( "\u043D\u043E", -1, 1, "", methodObject ), + new Among ( "\u0435\u043D\u043E", 27, 2, "", methodObject ), + new Among ( "\u043D\u043D\u043E", 27, 1, "", methodObject ), + new Among ( "\u0435\u0442", -1, 1, "", methodObject ), + new Among ( "\u0443\u0435\u0442", 30, 2, "", methodObject ), + new Among ( "\u0438\u0442", -1, 2, "", methodObject ), + new Among ( "\u044B\u0442", -1, 2, "", methodObject ), + new Among ( "\u044E\u0442", -1, 1, "", methodObject ), + new Among ( "\u0443\u044E\u0442", 34, 2, "", methodObject ), + new Among ( "\u044F\u0442", -1, 2, "", methodObject ), + new Among ( "\u043D\u044B", -1, 1, "", methodObject ), + new Among ( "\u0435\u043D\u044B", 37, 2, "", methodObject ), + new Among ( "\u0442\u044C", -1, 1, "", methodObject ), + new Among ( "\u0438\u0442\u044C", 39, 2, "", methodObject ), + new Among ( "\u044B\u0442\u044C", 39, 2, "", methodObject ), + new Among ( "\u0435\u0448\u044C", -1, 1, "", methodObject ), + new Among ( "\u0438\u0448\u044C", -1, 2, "", methodObject ), + new Among ( "\u044E", -1, 2, "", methodObject ), + new Among ( "\u0443\u044E", 44, 2, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "\u0430", -1, 1, "", methodObject ), + new Among ( "\u0435\u0432", -1, 1, "", methodObject ), + new Among ( "\u043E\u0432", -1, 1, "", methodObject ), + new Among ( "\u0435", -1, 1, "", methodObject ), + new Among ( "\u0438\u0435", 3, 1, "", methodObject ), + new Among ( "\u044C\u0435", 3, 1, "", methodObject ), + new Among ( "\u0438", -1, 1, "", methodObject ), + new Among ( "\u0435\u0438", 6, 1, "", methodObject ), + new Among ( "\u0438\u0438", 6, 1, "", methodObject ), + new Among ( "\u0430\u043C\u0438", 6, 1, "", methodObject ), + new Among ( "\u044F\u043C\u0438", 6, 1, "", methodObject ), + new Among ( "\u0438\u044F\u043C\u0438", 10, 1, "", methodObject ), + new Among ( "\u0439", -1, 1, "", methodObject ), + new Among ( "\u0435\u0439", 12, 1, "", methodObject ), + new Among ( "\u0438\u0435\u0439", 13, 1, "", methodObject ), + new Among ( "\u0438\u0439", 12, 1, "", methodObject ), + new Among ( "\u043E\u0439", 12, 1, "", methodObject ), + new Among ( "\u0430\u043C", -1, 1, "", methodObject ), + new Among ( "\u0435\u043C", -1, 1, "", methodObject ), + new Among ( "\u0438\u0435\u043C", 18, 1, "", methodObject ), + new Among ( "\u043E\u043C", -1, 1, "", methodObject ), + new Among ( "\u044F\u043C", -1, 1, "", methodObject ), + new Among ( "\u0438\u044F\u043C", 21, 1, "", methodObject ), + new Among ( "\u043E", -1, 1, "", methodObject ), + new Among ( "\u0443", -1, 1, "", methodObject ), + new Among ( "\u0430\u0445", -1, 1, "", methodObject ), + new Among ( "\u044F\u0445", -1, 1, "", methodObject ), + new Among ( "\u0438\u044F\u0445", 26, 1, "", methodObject ), + new Among ( "\u044B", -1, 1, "", methodObject ), + new Among ( "\u044C", -1, 1, "", methodObject ), + new Among ( "\u044E", -1, 1, "", methodObject ), + new Among ( "\u0438\u044E", 30, 1, "", methodObject ), + new Among ( "\u044C\u044E", 30, 1, "", methodObject ), + new Among ( "\u044F", -1, 1, "", methodObject ), + new Among ( "\u0438\u044F", 33, 1, "", methodObject ), + new Among ( "\u044C\u044F", 33, 1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "\u043E\u0441\u0442", -1, 1, "", methodObject ), + new Among ( "\u043E\u0441\u0442\u044C", -1, 1, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "\u0435\u0439\u0448\u0435", -1, 1, "", methodObject ), + new Among ( "\u043D", -1, 2, "", methodObject ), + new Among ( "\u0435\u0439\u0448", -1, 1, "", methodObject ), + new Among ( "\u044C", -1, 3, "", methodObject ) + }; + + private static final char g_v[] = {33, 65, 8, 232 }; + + private int I_p2; + private int I_pV; + + private void copy_from(russianStemmer other) { + I_p2 = other.I_p2; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + // (, line 57 + I_pV = limit; + I_p2 = limit; + // do, line 61 + v_1 = cursor; + lab0: do { + // (, line 61 + // gopast, line 62 + golab1: while(true) + { + lab2: do { + if (!(in_grouping(g_v, 1072, 1103))) + { + break lab2; + } + break golab1; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // setmark pV, line 62 + I_pV = cursor; + // gopast, line 62 + golab3: while(true) + { + lab4: do { + if (!(out_grouping(g_v, 1072, 1103))) + { + break lab4; + } + break golab3; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // gopast, line 63 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 1072, 1103))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // gopast, line 63 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 1072, 1103))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab0; + } + cursor++; + } + // setmark p2, line 63 + I_p2 = cursor; + } while (false); + cursor = v_1; + return true; + } + + private boolean r_R2() { + if (!(I_p2 <= cursor)) + { + return false; + } + return true; + } + + private boolean r_perfective_gerund() { + int among_var; + int v_1; + // (, line 71 + // [, line 72 + ket = cursor; + // substring, line 72 + among_var = find_among_b(a_0, 9); + if (among_var == 0) + { + return false; + } + // ], line 72 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 76 + // or, line 76 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // literal, line 76 + if (!(eq_s_b(1, "\u0430"))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // literal, line 76 + if (!(eq_s_b(1, "\u044F"))) + { + return false; + } + } while (false); + // delete, line 76 + slice_del(); + break; + case 2: + // (, line 83 + // delete, line 83 + slice_del(); + break; + } + return true; + } + + private boolean r_adjective() { + int among_var; + // (, line 87 + // [, line 88 + ket = cursor; + // substring, line 88 + among_var = find_among_b(a_1, 26); + if (among_var == 0) + { + return false; + } + // ], line 88 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 97 + // delete, line 97 + slice_del(); + break; + } + return true; + } + + private boolean r_adjectival() { + int among_var; + int v_1; + int v_2; + // (, line 101 + // call adjective, line 102 + if (!r_adjective()) + { + return false; + } + // try, line 109 + v_1 = limit - cursor; + lab0: do { + // (, line 109 + // [, line 110 + ket = cursor; + // substring, line 110 + among_var = find_among_b(a_2, 8); + if (among_var == 0) + { + cursor = limit - v_1; + break lab0; + } + // ], line 110 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_1; + break lab0; + case 1: + // (, line 115 + // or, line 115 + lab1: do { + v_2 = limit - cursor; + lab2: do { + // literal, line 115 + if (!(eq_s_b(1, "\u0430"))) + { + break lab2; + } + break lab1; + } while (false); + cursor = limit - v_2; + // literal, line 115 + if (!(eq_s_b(1, "\u044F"))) + { + cursor = limit - v_1; + break lab0; + } + } while (false); + // delete, line 115 + slice_del(); + break; + case 2: + // (, line 122 + // delete, line 122 + slice_del(); + break; + } + } while (false); + return true; + } + + private boolean r_reflexive() { + int among_var; + // (, line 128 + // [, line 129 + ket = cursor; + // substring, line 129 + among_var = find_among_b(a_3, 2); + if (among_var == 0) + { + return false; + } + // ], line 129 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 132 + // delete, line 132 + slice_del(); + break; + } + return true; + } + + private boolean r_verb() { + int among_var; + int v_1; + // (, line 136 + // [, line 137 + ket = cursor; + // substring, line 137 + among_var = find_among_b(a_4, 46); + if (among_var == 0) + { + return false; + } + // ], line 137 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 143 + // or, line 143 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // literal, line 143 + if (!(eq_s_b(1, "\u0430"))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_1; + // literal, line 143 + if (!(eq_s_b(1, "\u044F"))) + { + return false; + } + } while (false); + // delete, line 143 + slice_del(); + break; + case 2: + // (, line 151 + // delete, line 151 + slice_del(); + break; + } + return true; + } + + private boolean r_noun() { + int among_var; + // (, line 159 + // [, line 160 + ket = cursor; + // substring, line 160 + among_var = find_among_b(a_5, 36); + if (among_var == 0) + { + return false; + } + // ], line 160 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 167 + // delete, line 167 + slice_del(); + break; + } + return true; + } + + private boolean r_derivational() { + int among_var; + // (, line 175 + // [, line 176 + ket = cursor; + // substring, line 176 + among_var = find_among_b(a_6, 2); + if (among_var == 0) + { + return false; + } + // ], line 176 + bra = cursor; + // call R2, line 176 + if (!r_R2()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 179 + // delete, line 179 + slice_del(); + break; + } + return true; + } + + private boolean r_tidy_up() { + int among_var; + // (, line 183 + // [, line 184 + ket = cursor; + // substring, line 184 + among_var = find_among_b(a_7, 4); + if (among_var == 0) + { + return false; + } + // ], line 184 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 188 + // delete, line 188 + slice_del(); + // [, line 189 + ket = cursor; + // literal, line 189 + if (!(eq_s_b(1, "\u043D"))) + { + return false; + } + // ], line 189 + bra = cursor; + // literal, line 189 + if (!(eq_s_b(1, "\u043D"))) + { + return false; + } + // delete, line 189 + slice_del(); + break; + case 2: + // (, line 192 + // literal, line 192 + if (!(eq_s_b(1, "\u043D"))) + { + return false; + } + // delete, line 192 + slice_del(); + break; + case 3: + // (, line 194 + // delete, line 194 + slice_del(); + break; + } + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 199 + // do, line 201 + v_1 = cursor; + lab0: do { + // call mark_regions, line 201 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // backwards, line 202 + limit_backward = cursor; cursor = limit; + // setlimit, line 202 + v_2 = limit - cursor; + // tomark, line 202 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_3 = limit_backward; + limit_backward = cursor; + cursor = limit - v_2; + // (, line 202 + // do, line 203 + v_4 = limit - cursor; + lab1: do { + // (, line 203 + // or, line 204 + lab2: do { + v_5 = limit - cursor; + lab3: do { + // call perfective_gerund, line 204 + if (!r_perfective_gerund()) + { + break lab3; + } + break lab2; + } while (false); + cursor = limit - v_5; + // (, line 205 + // try, line 205 + v_6 = limit - cursor; + lab4: do { + // call reflexive, line 205 + if (!r_reflexive()) + { + cursor = limit - v_6; + break lab4; + } + } while (false); + // or, line 206 + lab5: do { + v_7 = limit - cursor; + lab6: do { + // call adjectival, line 206 + if (!r_adjectival()) + { + break lab6; + } + break lab5; + } while (false); + cursor = limit - v_7; + lab7: do { + // call verb, line 206 + if (!r_verb()) + { + break lab7; + } + break lab5; + } while (false); + cursor = limit - v_7; + // call noun, line 206 + if (!r_noun()) + { + break lab1; + } + } while (false); + } while (false); + } while (false); + cursor = limit - v_4; + // try, line 209 + v_8 = limit - cursor; + lab8: do { + // (, line 209 + // [, line 209 + ket = cursor; + // literal, line 209 + if (!(eq_s_b(1, "\u0438"))) + { + cursor = limit - v_8; + break lab8; + } + // ], line 209 + bra = cursor; + // delete, line 209 + slice_del(); + } while (false); + // do, line 212 + v_9 = limit - cursor; + lab9: do { + // call derivational, line 212 + if (!r_derivational()) + { + break lab9; + } + } while (false); + cursor = limit - v_9; + // do, line 213 + v_10 = limit - cursor; + lab10: do { + // call tidy_up, line 213 + if (!r_tidy_up()) + { + break lab10; + } + } while (false); + cursor = limit - v_10; + limit_backward = v_3; + cursor = limit_backward; return true; + } + + public boolean equals( Object o ) { + return o instanceof russianStemmer; + } + + public int hashCode() { + return russianStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/spanishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/spanishStemmer.java new file mode 100755 index 000000000..c10c3b795 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/spanishStemmer.java @@ -0,0 +1,1198 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class spanishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static spanishStemmer methodObject = new spanishStemmer (); + + private final static Among a_0[] = { + new Among ( "", -1, 6, "", methodObject ), + new Among ( "\u00E1", 0, 1, "", methodObject ), + new Among ( "\u00E9", 0, 2, "", methodObject ), + new Among ( "\u00ED", 0, 3, "", methodObject ), + new Among ( "\u00F3", 0, 4, "", methodObject ), + new Among ( "\u00FA", 0, 5, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "la", -1, -1, "", methodObject ), + new Among ( "sela", 0, -1, "", methodObject ), + new Among ( "le", -1, -1, "", methodObject ), + new Among ( "me", -1, -1, "", methodObject ), + new Among ( "se", -1, -1, "", methodObject ), + new Among ( "lo", -1, -1, "", methodObject ), + new Among ( "selo", 5, -1, "", methodObject ), + new Among ( "las", -1, -1, "", methodObject ), + new Among ( "selas", 7, -1, "", methodObject ), + new Among ( "les", -1, -1, "", methodObject ), + new Among ( "los", -1, -1, "", methodObject ), + new Among ( "selos", 10, -1, "", methodObject ), + new Among ( "nos", -1, -1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ando", -1, 6, "", methodObject ), + new Among ( "iendo", -1, 6, "", methodObject ), + new Among ( "yendo", -1, 7, "", methodObject ), + new Among ( "\u00E1ndo", -1, 2, "", methodObject ), + new Among ( "i\u00E9ndo", -1, 1, "", methodObject ), + new Among ( "ar", -1, 6, "", methodObject ), + new Among ( "er", -1, 6, "", methodObject ), + new Among ( "ir", -1, 6, "", methodObject ), + new Among ( "\u00E1r", -1, 3, "", methodObject ), + new Among ( "\u00E9r", -1, 4, "", methodObject ), + new Among ( "\u00EDr", -1, 5, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "ic", -1, -1, "", methodObject ), + new Among ( "ad", -1, -1, "", methodObject ), + new Among ( "os", -1, -1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "able", -1, 1, "", methodObject ), + new Among ( "ible", -1, 1, "", methodObject ), + new Among ( "ante", -1, 1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "ic", -1, 1, "", methodObject ), + new Among ( "abil", -1, 1, "", methodObject ), + new Among ( "iv", -1, 1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "ica", -1, 1, "", methodObject ), + new Among ( "ancia", -1, 2, "", methodObject ), + new Among ( "encia", -1, 5, "", methodObject ), + new Among ( "adora", -1, 2, "", methodObject ), + new Among ( "osa", -1, 1, "", methodObject ), + new Among ( "ista", -1, 1, "", methodObject ), + new Among ( "iva", -1, 9, "", methodObject ), + new Among ( "anza", -1, 1, "", methodObject ), + new Among ( "log\u00EDa", -1, 3, "", methodObject ), + new Among ( "idad", -1, 8, "", methodObject ), + new Among ( "able", -1, 1, "", methodObject ), + new Among ( "ible", -1, 1, "", methodObject ), + new Among ( "ante", -1, 2, "", methodObject ), + new Among ( "mente", -1, 7, "", methodObject ), + new Among ( "amente", 13, 6, "", methodObject ), + new Among ( "aci\u00F3n", -1, 2, "", methodObject ), + new Among ( "uci\u00F3n", -1, 4, "", methodObject ), + new Among ( "ico", -1, 1, "", methodObject ), + new Among ( "ismo", -1, 1, "", methodObject ), + new Among ( "oso", -1, 1, "", methodObject ), + new Among ( "amiento", -1, 1, "", methodObject ), + new Among ( "imiento", -1, 1, "", methodObject ), + new Among ( "ivo", -1, 9, "", methodObject ), + new Among ( "ador", -1, 2, "", methodObject ), + new Among ( "icas", -1, 1, "", methodObject ), + new Among ( "ancias", -1, 2, "", methodObject ), + new Among ( "encias", -1, 5, "", methodObject ), + new Among ( "adoras", -1, 2, "", methodObject ), + new Among ( "osas", -1, 1, "", methodObject ), + new Among ( "istas", -1, 1, "", methodObject ), + new Among ( "ivas", -1, 9, "", methodObject ), + new Among ( "anzas", -1, 1, "", methodObject ), + new Among ( "log\u00EDas", -1, 3, "", methodObject ), + new Among ( "idades", -1, 8, "", methodObject ), + new Among ( "ables", -1, 1, "", methodObject ), + new Among ( "ibles", -1, 1, "", methodObject ), + new Among ( "aciones", -1, 2, "", methodObject ), + new Among ( "uciones", -1, 4, "", methodObject ), + new Among ( "adores", -1, 2, "", methodObject ), + new Among ( "antes", -1, 2, "", methodObject ), + new Among ( "icos", -1, 1, "", methodObject ), + new Among ( "ismos", -1, 1, "", methodObject ), + new Among ( "osos", -1, 1, "", methodObject ), + new Among ( "amientos", -1, 1, "", methodObject ), + new Among ( "imientos", -1, 1, "", methodObject ), + new Among ( "ivos", -1, 9, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "ya", -1, 1, "", methodObject ), + new Among ( "ye", -1, 1, "", methodObject ), + new Among ( "yan", -1, 1, "", methodObject ), + new Among ( "yen", -1, 1, "", methodObject ), + new Among ( "yeron", -1, 1, "", methodObject ), + new Among ( "yendo", -1, 1, "", methodObject ), + new Among ( "yo", -1, 1, "", methodObject ), + new Among ( "yas", -1, 1, "", methodObject ), + new Among ( "yes", -1, 1, "", methodObject ), + new Among ( "yais", -1, 1, "", methodObject ), + new Among ( "yamos", -1, 1, "", methodObject ), + new Among ( "y\u00F3", -1, 1, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "aba", -1, 2, "", methodObject ), + new Among ( "ada", -1, 2, "", methodObject ), + new Among ( "ida", -1, 2, "", methodObject ), + new Among ( "ara", -1, 2, "", methodObject ), + new Among ( "iera", -1, 2, "", methodObject ), + new Among ( "\u00EDa", -1, 2, "", methodObject ), + new Among ( "ar\u00EDa", 5, 2, "", methodObject ), + new Among ( "er\u00EDa", 5, 2, "", methodObject ), + new Among ( "ir\u00EDa", 5, 2, "", methodObject ), + new Among ( "ad", -1, 2, "", methodObject ), + new Among ( "ed", -1, 2, "", methodObject ), + new Among ( "id", -1, 2, "", methodObject ), + new Among ( "ase", -1, 2, "", methodObject ), + new Among ( "iese", -1, 2, "", methodObject ), + new Among ( "aste", -1, 2, "", methodObject ), + new Among ( "iste", -1, 2, "", methodObject ), + new Among ( "an", -1, 2, "", methodObject ), + new Among ( "aban", 16, 2, "", methodObject ), + new Among ( "aran", 16, 2, "", methodObject ), + new Among ( "ieran", 16, 2, "", methodObject ), + new Among ( "\u00EDan", 16, 2, "", methodObject ), + new Among ( "ar\u00EDan", 20, 2, "", methodObject ), + new Among ( "er\u00EDan", 20, 2, "", methodObject ), + new Among ( "ir\u00EDan", 20, 2, "", methodObject ), + new Among ( "en", -1, 1, "", methodObject ), + new Among ( "asen", 24, 2, "", methodObject ), + new Among ( "iesen", 24, 2, "", methodObject ), + new Among ( "aron", -1, 2, "", methodObject ), + new Among ( "ieron", -1, 2, "", methodObject ), + new Among ( "ar\u00E1n", -1, 2, "", methodObject ), + new Among ( "er\u00E1n", -1, 2, "", methodObject ), + new Among ( "ir\u00E1n", -1, 2, "", methodObject ), + new Among ( "ado", -1, 2, "", methodObject ), + new Among ( "ido", -1, 2, "", methodObject ), + new Among ( "ando", -1, 2, "", methodObject ), + new Among ( "iendo", -1, 2, "", methodObject ), + new Among ( "ar", -1, 2, "", methodObject ), + new Among ( "er", -1, 2, "", methodObject ), + new Among ( "ir", -1, 2, "", methodObject ), + new Among ( "as", -1, 2, "", methodObject ), + new Among ( "abas", 39, 2, "", methodObject ), + new Among ( "adas", 39, 2, "", methodObject ), + new Among ( "idas", 39, 2, "", methodObject ), + new Among ( "aras", 39, 2, "", methodObject ), + new Among ( "ieras", 39, 2, "", methodObject ), + new Among ( "\u00EDas", 39, 2, "", methodObject ), + new Among ( "ar\u00EDas", 45, 2, "", methodObject ), + new Among ( "er\u00EDas", 45, 2, "", methodObject ), + new Among ( "ir\u00EDas", 45, 2, "", methodObject ), + new Among ( "es", -1, 1, "", methodObject ), + new Among ( "ases", 49, 2, "", methodObject ), + new Among ( "ieses", 49, 2, "", methodObject ), + new Among ( "abais", -1, 2, "", methodObject ), + new Among ( "arais", -1, 2, "", methodObject ), + new Among ( "ierais", -1, 2, "", methodObject ), + new Among ( "\u00EDais", -1, 2, "", methodObject ), + new Among ( "ar\u00EDais", 55, 2, "", methodObject ), + new Among ( "er\u00EDais", 55, 2, "", methodObject ), + new Among ( "ir\u00EDais", 55, 2, "", methodObject ), + new Among ( "aseis", -1, 2, "", methodObject ), + new Among ( "ieseis", -1, 2, "", methodObject ), + new Among ( "asteis", -1, 2, "", methodObject ), + new Among ( "isteis", -1, 2, "", methodObject ), + new Among ( "\u00E1is", -1, 2, "", methodObject ), + new Among ( "\u00E9is", -1, 1, "", methodObject ), + new Among ( "ar\u00E9is", 64, 2, "", methodObject ), + new Among ( "er\u00E9is", 64, 2, "", methodObject ), + new Among ( "ir\u00E9is", 64, 2, "", methodObject ), + new Among ( "ados", -1, 2, "", methodObject ), + new Among ( "idos", -1, 2, "", methodObject ), + new Among ( "amos", -1, 2, "", methodObject ), + new Among ( "\u00E1bamos", 70, 2, "", methodObject ), + new Among ( "\u00E1ramos", 70, 2, "", methodObject ), + new Among ( "i\u00E9ramos", 70, 2, "", methodObject ), + new Among ( "\u00EDamos", 70, 2, "", methodObject ), + new Among ( "ar\u00EDamos", 74, 2, "", methodObject ), + new Among ( "er\u00EDamos", 74, 2, "", methodObject ), + new Among ( "ir\u00EDamos", 74, 2, "", methodObject ), + new Among ( "emos", -1, 1, "", methodObject ), + new Among ( "aremos", 78, 2, "", methodObject ), + new Among ( "eremos", 78, 2, "", methodObject ), + new Among ( "iremos", 78, 2, "", methodObject ), + new Among ( "\u00E1semos", 78, 2, "", methodObject ), + new Among ( "i\u00E9semos", 78, 2, "", methodObject ), + new Among ( "imos", -1, 2, "", methodObject ), + new Among ( "ar\u00E1s", -1, 2, "", methodObject ), + new Among ( "er\u00E1s", -1, 2, "", methodObject ), + new Among ( "ir\u00E1s", -1, 2, "", methodObject ), + new Among ( "\u00EDs", -1, 2, "", methodObject ), + new Among ( "ar\u00E1", -1, 2, "", methodObject ), + new Among ( "er\u00E1", -1, 2, "", methodObject ), + new Among ( "ir\u00E1", -1, 2, "", methodObject ), + new Among ( "ar\u00E9", -1, 2, "", methodObject ), + new Among ( "er\u00E9", -1, 2, "", methodObject ), + new Among ( "ir\u00E9", -1, 2, "", methodObject ), + new Among ( "i\u00F3", -1, 2, "", methodObject ) + }; + + private final static Among a_9[] = { + new Among ( "a", -1, 1, "", methodObject ), + new Among ( "e", -1, 2, "", methodObject ), + new Among ( "o", -1, 1, "", methodObject ), + new Among ( "os", -1, 1, "", methodObject ), + new Among ( "\u00E1", -1, 1, "", methodObject ), + new Among ( "\u00E9", -1, 2, "", methodObject ), + new Among ( "\u00ED", -1, 1, "", methodObject ), + new Among ( "\u00F3", -1, 1, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 }; + + private int I_p2; + private int I_p1; + private int I_pV; + + private void copy_from(spanishStemmer other) { + I_p2 = other.I_p2; + I_p1 = other.I_p1; + I_pV = other.I_pV; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + int v_3; + int v_6; + int v_8; + // (, line 31 + I_pV = limit; + I_p1 = limit; + I_p2 = limit; + // do, line 37 + v_1 = cursor; + lab0: do { + // (, line 37 + // or, line 39 + lab1: do { + v_2 = cursor; + lab2: do { + // (, line 38 + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; + } + // or, line 38 + lab3: do { + v_3 = cursor; + lab4: do { + // (, line 38 + if (!(out_grouping(g_v, 97, 252))) + { + break lab4; + } + // gopast, line 38 + golab5: while(true) + { + lab6: do { + if (!(in_grouping(g_v, 97, 252))) + { + break lab6; + } + break golab5; + } while (false); + if (cursor >= limit) + { + break lab4; + } + cursor++; + } + break lab3; + } while (false); + cursor = v_3; + // (, line 38 + if (!(in_grouping(g_v, 97, 252))) + { + break lab2; + } + // gopast, line 38 + golab7: while(true) + { + lab8: do { + if (!(out_grouping(g_v, 97, 252))) + { + break lab8; + } + break golab7; + } while (false); + if (cursor >= limit) + { + break lab2; + } + cursor++; + } + } while (false); + break lab1; + } while (false); + cursor = v_2; + // (, line 40 + if (!(out_grouping(g_v, 97, 252))) + { + break lab0; + } + // or, line 40 + lab9: do { + v_6 = cursor; + lab10: do { + // (, line 40 + if (!(out_grouping(g_v, 97, 252))) + { + break lab10; + } + // gopast, line 40 + golab11: while(true) + { + lab12: do { + if (!(in_grouping(g_v, 97, 252))) + { + break lab12; + } + break golab11; + } while (false); + if (cursor >= limit) + { + break lab10; + } + cursor++; + } + break lab9; + } while (false); + cursor = v_6; + // (, line 40 + if (!(in_grouping(g_v, 97, 252))) + { + break lab0; + } + // next, line 40 + if (cursor >= limit) + { + break lab0; + } + cursor++; + } while (false); + } while (false); + // setmark pV, line 41 + I_pV = cursor; + } while (false); + cursor = v_1; + // do, line 43 + v_8 = cursor; + lab13: do { + // (, line 43 + // gopast, line 44 + golab14: while(true) + { + lab15: do { + if (!(in_grouping(g_v, 97, 252))) + { + break lab15; + } + break golab14; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 44 + golab16: while(true) + { + lab17: do { + if (!(out_grouping(g_v, 97, 252))) + { + break lab17; + } + break golab16; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p1, line 44 + I_p1 = cursor; + // gopast, line 45 + golab18: while(true) + { + lab19: do { + if (!(in_grouping(g_v, 97, 252))) + { + break lab19; + } + break golab18; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // gopast, line 45 + golab20: while(true) + { + lab21: do { + if (!(out_grouping(g_v, 97, 252))) + { + break lab21; + } + break golab20; + } while (false); + if (cursor >= limit) + { + break lab13; + } + cursor++; + } + // setmark p2, line 45 + I_p2 = cursor; + } while (false); + cursor = v_8; + return true; + } + + private boolean r_postlude() { + int among_var; + int v_1; + // repeat, line 49 + replab0: while(true) + { + v_1 = cursor; + lab1: do { + // (, line 49 + // [, line 50 + bra = cursor; + // substring, line 50 + among_var = find_among(a_0, 6); + if (among_var == 0) + { + break lab1; + } + // ], line 50 + ket = cursor; + switch(among_var) { + case 0: + break lab1; + case 1: + // (, line 51 + // <-, line 51 + slice_from("a"); + break; + case 2: + // (, line 52 + // <-, line 52 + slice_from("e"); + break; + case 3: + // (, line 53 + // <-, line 53 + slice_from("i"); + break; + case 4: + // (, line 54 + // <-, line 54 + slice_from("o"); + break; + case 5: + // (, line 55 + // <-, line 55 + slice_from("u"); + break; + case 6: + // (, line 57 + // next, line 57 + if (cursor >= limit) + { + break lab1; + } + cursor++; + break; + } + continue replab0; + } while (false); + cursor = v_1; + break replab0; + } + return true; + } + + private boolean r_RV() { + if (!(I_pV <= 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_attached_pronoun() { + int among_var; + // (, line 67 + // [, line 68 + ket = cursor; + // substring, line 68 + if (find_among_b(a_1, 13) == 0) + { + return false; + } + // ], line 68 + bra = cursor; + // substring, line 72 + among_var = find_among_b(a_2, 11); + if (among_var == 0) + { + return false; + } + // call RV, line 72 + if (!r_RV()) + { + return false; + } + switch(among_var) { + case 0: + return false; + case 1: + // (, line 73 + // ], line 73 + bra = cursor; + // <-, line 73 + slice_from("iendo"); + break; + case 2: + // (, line 74 + // ], line 74 + bra = cursor; + // <-, line 74 + slice_from("ando"); + break; + case 3: + // (, line 75 + // ], line 75 + bra = cursor; + // <-, line 75 + slice_from("ar"); + break; + case 4: + // (, line 76 + // ], line 76 + bra = cursor; + // <-, line 76 + slice_from("er"); + break; + case 5: + // (, line 77 + // ], line 77 + bra = cursor; + // <-, line 77 + slice_from("ir"); + break; + case 6: + // (, line 81 + // delete, line 81 + slice_del(); + break; + case 7: + // (, line 82 + // literal, line 82 + if (!(eq_s_b(1, "u"))) + { + return false; + } + // delete, line 82 + slice_del(); + break; + } + return true; + } + + private boolean r_standard_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + // (, line 86 + // [, line 87 + ket = cursor; + // substring, line 87 + among_var = find_among_b(a_6, 46); + if (among_var == 0) + { + return false; + } + // ], line 87 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 98 + // call R2, line 99 + if (!r_R2()) + { + return false; + } + // delete, line 99 + slice_del(); + break; + case 2: + // (, line 104 + // call R2, line 105 + if (!r_R2()) + { + return false; + } + // delete, line 105 + slice_del(); + // try, line 106 + v_1 = limit - cursor; + lab0: do { + // (, line 106 + // [, line 106 + ket = cursor; + // literal, line 106 + if (!(eq_s_b(2, "ic"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 106 + bra = cursor; + // call R2, line 106 + if (!r_R2()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 106 + slice_del(); + } while (false); + break; + case 3: + // (, line 110 + // call R2, line 111 + if (!r_R2()) + { + return false; + } + // <-, line 111 + slice_from("log"); + break; + case 4: + // (, line 114 + // call R2, line 115 + if (!r_R2()) + { + return false; + } + // <-, line 115 + slice_from("u"); + break; + case 5: + // (, line 118 + // call R2, line 119 + if (!r_R2()) + { + return false; + } + // <-, line 119 + slice_from("ente"); + break; + case 6: + // (, line 122 + // call R1, line 123 + if (!r_R1()) + { + return false; + } + // delete, line 123 + slice_del(); + // try, line 124 + v_2 = limit - cursor; + lab1: do { + // (, line 124 + // [, line 125 + ket = cursor; + // substring, line 125 + among_var = find_among_b(a_3, 4); + if (among_var == 0) + { + cursor = limit - v_2; + break lab1; + } + // ], line 125 + bra = cursor; + // call R2, line 125 + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 125 + slice_del(); + switch(among_var) { + case 0: + cursor = limit - v_2; + break lab1; + case 1: + // (, line 126 + // [, line 126 + ket = cursor; + // literal, line 126 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_2; + break lab1; + } + // ], line 126 + bra = cursor; + // call R2, line 126 + if (!r_R2()) + { + cursor = limit - v_2; + break lab1; + } + // delete, line 126 + slice_del(); + break; + } + } while (false); + break; + case 7: + // (, line 134 + // call R2, line 135 + if (!r_R2()) + { + return false; + } + // delete, line 135 + slice_del(); + // try, line 136 + v_3 = limit - cursor; + lab2: do { + // (, line 136 + // [, line 137 + ket = cursor; + // substring, line 137 + among_var = find_among_b(a_4, 3); + if (among_var == 0) + { + cursor = limit - v_3; + break lab2; + } + // ], line 137 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_3; + break lab2; + case 1: + // (, line 140 + // call R2, line 140 + if (!r_R2()) + { + cursor = limit - v_3; + break lab2; + } + // delete, line 140 + slice_del(); + break; + } + } while (false); + break; + case 8: + // (, line 146 + // call R2, line 147 + if (!r_R2()) + { + return false; + } + // delete, line 147 + slice_del(); + // try, line 148 + v_4 = limit - cursor; + lab3: do { + // (, line 148 + // [, line 149 + ket = cursor; + // substring, line 149 + among_var = find_among_b(a_5, 3); + if (among_var == 0) + { + cursor = limit - v_4; + break lab3; + } + // ], line 149 + bra = cursor; + switch(among_var) { + case 0: + cursor = limit - v_4; + break lab3; + case 1: + // (, line 152 + // call R2, line 152 + if (!r_R2()) + { + cursor = limit - v_4; + break lab3; + } + // delete, line 152 + slice_del(); + break; + } + } while (false); + break; + case 9: + // (, line 158 + // call R2, line 159 + if (!r_R2()) + { + return false; + } + // delete, line 159 + slice_del(); + // try, line 160 + v_5 = limit - cursor; + lab4: do { + // (, line 160 + // [, line 161 + ket = cursor; + // literal, line 161 + if (!(eq_s_b(2, "at"))) + { + cursor = limit - v_5; + break lab4; + } + // ], line 161 + bra = cursor; + // call R2, line 161 + if (!r_R2()) + { + cursor = limit - v_5; + break lab4; + } + // delete, line 161 + slice_del(); + } while (false); + break; + } + return true; + } + + private boolean r_y_verb_suffix() { + int among_var; + int v_1; + int v_2; + // (, line 167 + // setlimit, line 168 + v_1 = limit - cursor; + // tomark, line 168 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 168 + // [, line 168 + ket = cursor; + // substring, line 168 + among_var = find_among_b(a_7, 12); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 168 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 171 + // literal, line 171 + if (!(eq_s_b(1, "u"))) + { + return false; + } + // delete, line 171 + slice_del(); + break; + } + return true; + } + + private boolean r_verb_suffix() { + int among_var; + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 175 + // setlimit, line 176 + v_1 = limit - cursor; + // tomark, line 176 + if (cursor < I_pV) + { + return false; + } + cursor = I_pV; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 176 + // [, line 176 + ket = cursor; + // substring, line 176 + among_var = find_among_b(a_8, 96); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 176 + bra = cursor; + limit_backward = v_2; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 179 + // try, line 179 + v_3 = limit - cursor; + lab0: do { + // (, line 179 + // literal, line 179 + if (!(eq_s_b(1, "u"))) + { + cursor = limit - v_3; + break lab0; + } + // test, line 179 + v_4 = limit - cursor; + // literal, line 179 + if (!(eq_s_b(1, "g"))) + { + cursor = limit - v_3; + break lab0; + } + cursor = limit - v_4; + } while (false); + // ], line 179 + bra = cursor; + // delete, line 179 + slice_del(); + break; + case 2: + // (, line 200 + // delete, line 200 + slice_del(); + break; + } + return true; + } + + private boolean r_residual_suffix() { + int among_var; + int v_1; + int v_2; + // (, line 204 + // [, line 205 + ket = cursor; + // substring, line 205 + among_var = find_among_b(a_9, 8); + if (among_var == 0) + { + return false; + } + // ], line 205 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 208 + // call RV, line 208 + if (!r_RV()) + { + return false; + } + // delete, line 208 + slice_del(); + break; + case 2: + // (, line 210 + // call RV, line 210 + if (!r_RV()) + { + return false; + } + // delete, line 210 + slice_del(); + // try, line 210 + v_1 = limit - cursor; + lab0: do { + // (, line 210 + // [, line 210 + ket = cursor; + // literal, line 210 + if (!(eq_s_b(1, "u"))) + { + cursor = limit - v_1; + break lab0; + } + // ], line 210 + bra = cursor; + // test, line 210 + v_2 = limit - cursor; + // literal, line 210 + if (!(eq_s_b(1, "g"))) + { + cursor = limit - v_1; + break lab0; + } + cursor = limit - v_2; + // call RV, line 210 + if (!r_RV()) + { + cursor = limit - v_1; + break lab0; + } + // delete, line 210 + slice_del(); + } while (false); + break; + } + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + // (, line 215 + // do, line 216 + v_1 = cursor; + lab0: do { + // call mark_regions, line 216 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // backwards, line 217 + limit_backward = cursor; cursor = limit; + // (, line 217 + // do, line 218 + v_2 = limit - cursor; + lab1: do { + // call attached_pronoun, line 218 + if (!r_attached_pronoun()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 219 + v_3 = limit - cursor; + lab2: do { + // (, line 219 + // or, line 219 + lab3: do { + v_4 = limit - cursor; + lab4: do { + // call standard_suffix, line 219 + if (!r_standard_suffix()) + { + break lab4; + } + break lab3; + } while (false); + cursor = limit - v_4; + lab5: do { + // call y_verb_suffix, line 220 + if (!r_y_verb_suffix()) + { + break lab5; + } + break lab3; + } while (false); + cursor = limit - v_4; + // call verb_suffix, line 221 + if (!r_verb_suffix()) + { + break lab2; + } + } while (false); + } while (false); + cursor = limit - v_3; + // do, line 223 + v_5 = limit - cursor; + lab6: do { + // call residual_suffix, line 223 + if (!r_residual_suffix()) + { + break lab6; + } + } while (false); + cursor = limit - v_5; + cursor = limit_backward; // do, line 225 + v_6 = cursor; + lab7: do { + // call postlude, line 225 + if (!r_postlude()) + { + break lab7; + } + } while (false); + cursor = v_6; + return true; + } + + public boolean equals( Object o ) { + return o instanceof spanishStemmer; + } + + public int hashCode() { + return spanishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/swedishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/swedishStemmer.java new file mode 100755 index 000000000..95a7198ca --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/swedishStemmer.java @@ -0,0 +1,365 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class swedishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static swedishStemmer methodObject = new swedishStemmer (); + + private final static Among a_0[] = { + new Among ( "a", -1, 1, "", methodObject ), + new Among ( "arna", 0, 1, "", methodObject ), + new Among ( "erna", 0, 1, "", methodObject ), + new Among ( "heterna", 2, 1, "", methodObject ), + new Among ( "orna", 0, 1, "", methodObject ), + new Among ( "ad", -1, 1, "", methodObject ), + new Among ( "e", -1, 1, "", methodObject ), + new Among ( "ade", 6, 1, "", methodObject ), + new Among ( "ande", 6, 1, "", methodObject ), + new Among ( "arne", 6, 1, "", methodObject ), + new Among ( "are", 6, 1, "", methodObject ), + new Among ( "aste", 6, 1, "", methodObject ), + new Among ( "en", -1, 1, "", methodObject ), + new Among ( "anden", 12, 1, "", methodObject ), + new Among ( "aren", 12, 1, "", methodObject ), + new Among ( "heten", 12, 1, "", methodObject ), + new Among ( "ern", -1, 1, "", methodObject ), + new Among ( "ar", -1, 1, "", methodObject ), + new Among ( "er", -1, 1, "", methodObject ), + new Among ( "heter", 18, 1, "", methodObject ), + new Among ( "or", -1, 1, "", methodObject ), + new Among ( "s", -1, 2, "", methodObject ), + new Among ( "as", 21, 1, "", methodObject ), + new Among ( "arnas", 22, 1, "", methodObject ), + new Among ( "ernas", 22, 1, "", methodObject ), + new Among ( "ornas", 22, 1, "", methodObject ), + new Among ( "es", 21, 1, "", methodObject ), + new Among ( "ades", 26, 1, "", methodObject ), + new Among ( "andes", 26, 1, "", methodObject ), + new Among ( "ens", 21, 1, "", methodObject ), + new Among ( "arens", 29, 1, "", methodObject ), + new Among ( "hetens", 29, 1, "", methodObject ), + new Among ( "erns", 21, 1, "", methodObject ), + new Among ( "at", -1, 1, "", methodObject ), + new Among ( "andet", -1, 1, "", methodObject ), + new Among ( "het", -1, 1, "", methodObject ), + new Among ( "ast", -1, 1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "dd", -1, -1, "", methodObject ), + new Among ( "gd", -1, -1, "", methodObject ), + new Among ( "nn", -1, -1, "", methodObject ), + new Among ( "dt", -1, -1, "", methodObject ), + new Among ( "gt", -1, -1, "", methodObject ), + new Among ( "kt", -1, -1, "", methodObject ), + new Among ( "tt", -1, -1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ig", -1, 1, "", methodObject ), + new Among ( "lig", 0, 1, "", methodObject ), + new Among ( "els", -1, 1, "", methodObject ), + new Among ( "fullt", -1, 3, "", methodObject ), + new Among ( "l\u00F6st", -1, 2, "", methodObject ) + }; + + private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 }; + + private static final char g_s_ending[] = {119, 127, 149 }; + + private int I_x; + private int I_p1; + + private void copy_from(swedishStemmer other) { + I_x = other.I_x; + I_p1 = other.I_p1; + super.copy_from(other); + } + + private boolean r_mark_regions() { + int v_1; + int v_2; + // (, line 26 + I_p1 = limit; + // test, line 29 + v_1 = cursor; + // (, line 29 + // hop, line 29 + { + int c = cursor + 3; + if (0 > c || c > limit) + { + return false; + } + cursor = c; + } + // setmark x, line 29 + I_x = cursor; + cursor = v_1; + // goto, line 30 + golab0: while(true) + { + v_2 = cursor; + lab1: do { + if (!(in_grouping(g_v, 97, 246))) + { + break lab1; + } + cursor = v_2; + break golab0; + } while (false); + cursor = v_2; + if (cursor >= limit) + { + return false; + } + cursor++; + } + // gopast, line 30 + golab2: while(true) + { + lab3: do { + if (!(out_grouping(g_v, 97, 246))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // setmark p1, line 30 + I_p1 = cursor; + // try, line 31 + lab4: do { + // (, line 31 + 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; + // (, line 36 + // setlimit, line 37 + v_1 = limit - cursor; + // tomark, line 37 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 37 + // [, line 37 + ket = cursor; + // substring, line 37 + among_var = find_among_b(a_0, 37); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 37 + 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 + if (!(in_grouping_b(g_s_ending, 98, 121))) + { + return false; + } + // delete, line 46 + slice_del(); + break; + } + return true; + } + + private boolean r_consonant_pair() { + int v_1; + int v_2; + int v_3; + // setlimit, line 50 + v_1 = limit - cursor; + // tomark, line 50 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 50 + // and, line 52 + v_3 = limit - cursor; + // among, line 51 + if (find_among_b(a_1, 7) == 0) + { + limit_backward = v_2; + return false; + } + cursor = limit - v_3; + // (, line 52 + // [, line 52 + ket = cursor; + // next, line 52 + if (cursor <= limit_backward) + { + limit_backward = v_2; + return false; + } + cursor--; + // ], line 52 + bra = cursor; + // delete, line 52 + slice_del(); + limit_backward = v_2; + return true; + } + + private boolean r_other_suffix() { + int among_var; + int v_1; + int v_2; + // setlimit, line 55 + v_1 = limit - cursor; + // tomark, line 55 + if (cursor < I_p1) + { + return false; + } + cursor = I_p1; + v_2 = limit_backward; + limit_backward = cursor; + cursor = limit - v_1; + // (, line 55 + // [, line 56 + ket = cursor; + // substring, line 56 + among_var = find_among_b(a_2, 5); + if (among_var == 0) + { + limit_backward = v_2; + return false; + } + // ], line 56 + bra = cursor; + switch(among_var) { + case 0: + limit_backward = v_2; + return false; + case 1: + // (, line 57 + // delete, line 57 + slice_del(); + break; + case 2: + // (, line 58 + // <-, line 58 + slice_from("l\u00F6s"); + break; + case 3: + // (, line 59 + // <-, line 59 + slice_from("full"); + break; + } + limit_backward = v_2; + return true; + } + + public boolean stem() { + int v_1; + int v_2; + int v_3; + int v_4; + // (, line 64 + // do, line 66 + v_1 = cursor; + lab0: do { + // call mark_regions, line 66 + if (!r_mark_regions()) + { + break lab0; + } + } while (false); + cursor = v_1; + // backwards, line 67 + limit_backward = cursor; cursor = limit; + // (, line 67 + // do, line 68 + v_2 = limit - cursor; + lab1: do { + // call main_suffix, line 68 + if (!r_main_suffix()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 69 + v_3 = limit - cursor; + lab2: do { + // call consonant_pair, line 69 + if (!r_consonant_pair()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + // do, line 70 + v_4 = limit - cursor; + lab3: do { + // call other_suffix, line 70 + if (!r_other_suffix()) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + cursor = limit_backward; return true; + } + + public boolean equals( Object o ) { + return o instanceof swedishStemmer; + } + + public int hashCode() { + return swedishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/turkishStemmer.java b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/turkishStemmer.java new file mode 100755 index 000000000..d249512b8 --- /dev/null +++ b/xsl/webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/turkishStemmer.java @@ -0,0 +1,3146 @@ +// This file was generated automatically by the Snowball to Java compiler + +package com.nexwave.stemmer.snowball.ext; + +import com.nexwave.stemmer.snowball.Among; + + /** + * This class was automatically generated by a Snowball to Java compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +public class turkishStemmer extends com.nexwave.stemmer.snowball.SnowballStemmer { + +private static final long serialVersionUID = 1L; + + private final static turkishStemmer methodObject = new turkishStemmer (); + + private final static Among a_0[] = { + new Among ( "m", -1, -1, "", methodObject ), + new Among ( "n", -1, -1, "", methodObject ), + new Among ( "miz", -1, -1, "", methodObject ), + new Among ( "niz", -1, -1, "", methodObject ), + new Among ( "muz", -1, -1, "", methodObject ), + new Among ( "nuz", -1, -1, "", methodObject ), + new Among ( "m\u00FCz", -1, -1, "", methodObject ), + new Among ( "n\u00FCz", -1, -1, "", methodObject ), + new Among ( "m\u0131z", -1, -1, "", methodObject ), + new Among ( "n\u0131z", -1, -1, "", methodObject ) + }; + + private final static Among a_1[] = { + new Among ( "leri", -1, -1, "", methodObject ), + new Among ( "lar\u0131", -1, -1, "", methodObject ) + }; + + private final static Among a_2[] = { + new Among ( "ni", -1, -1, "", methodObject ), + new Among ( "nu", -1, -1, "", methodObject ), + new Among ( "n\u00FC", -1, -1, "", methodObject ), + new Among ( "n\u0131", -1, -1, "", methodObject ) + }; + + private final static Among a_3[] = { + new Among ( "in", -1, -1, "", methodObject ), + new Among ( "un", -1, -1, "", methodObject ), + new Among ( "\u00FCn", -1, -1, "", methodObject ), + new Among ( "\u0131n", -1, -1, "", methodObject ) + }; + + private final static Among a_4[] = { + new Among ( "a", -1, -1, "", methodObject ), + new Among ( "e", -1, -1, "", methodObject ) + }; + + private final static Among a_5[] = { + new Among ( "na", -1, -1, "", methodObject ), + new Among ( "ne", -1, -1, "", methodObject ) + }; + + private final static Among a_6[] = { + new Among ( "da", -1, -1, "", methodObject ), + new Among ( "ta", -1, -1, "", methodObject ), + new Among ( "de", -1, -1, "", methodObject ), + new Among ( "te", -1, -1, "", methodObject ) + }; + + private final static Among a_7[] = { + new Among ( "nda", -1, -1, "", methodObject ), + new Among ( "nde", -1, -1, "", methodObject ) + }; + + private final static Among a_8[] = { + new Among ( "dan", -1, -1, "", methodObject ), + new Among ( "tan", -1, -1, "", methodObject ), + new Among ( "den", -1, -1, "", methodObject ), + new Among ( "ten", -1, -1, "", methodObject ) + }; + + private final static Among a_9[] = { + new Among ( "ndan", -1, -1, "", methodObject ), + new Among ( "nden", -1, -1, "", methodObject ) + }; + + private final static Among a_10[] = { + new Among ( "la", -1, -1, "", methodObject ), + new Among ( "le", -1, -1, "", methodObject ) + }; + + private final static Among a_11[] = { + new Among ( "ca", -1, -1, "", methodObject ), + new Among ( "ce", -1, -1, "", methodObject ) + }; + + private final static Among a_12[] = { + new Among ( "im", -1, -1, "", methodObject ), + new Among ( "um", -1, -1, "", methodObject ), + new Among ( "\u00FCm", -1, -1, "", methodObject ), + new Among ( "\u0131m", -1, -1, "", methodObject ) + }; + + private final static Among a_13[] = { + new Among ( "sin", -1, -1, "", methodObject ), + new Among ( "sun", -1, -1, "", methodObject ), + new Among ( "s\u00FCn", -1, -1, "", methodObject ), + new Among ( "s\u0131n", -1, -1, "", methodObject ) + }; + + private final static Among a_14[] = { + new Among ( "iz", -1, -1, "", methodObject ), + new Among ( "uz", -1, -1, "", methodObject ), + new Among ( "\u00FCz", -1, -1, "", methodObject ), + new Among ( "\u0131z", -1, -1, "", methodObject ) + }; + + private final static Among a_15[] = { + new Among ( "siniz", -1, -1, "", methodObject ), + new Among ( "sunuz", -1, -1, "", methodObject ), + new Among ( "s\u00FCn\u00FCz", -1, -1, "", methodObject ), + new Among ( "s\u0131n\u0131z", -1, -1, "", methodObject ) + }; + + private final static Among a_16[] = { + new Among ( "lar", -1, -1, "", methodObject ), + new Among ( "ler", -1, -1, "", methodObject ) + }; + + private final static Among a_17[] = { + new Among ( "niz", -1, -1, "", methodObject ), + new Among ( "nuz", -1, -1, "", methodObject ), + new Among ( "n\u00FCz", -1, -1, "", methodObject ), + new Among ( "n\u0131z", -1, -1, "", methodObject ) + }; + + private final static Among a_18[] = { + new Among ( "dir", -1, -1, "", methodObject ), + new Among ( "tir", -1, -1, "", methodObject ), + new Among ( "dur", -1, -1, "", methodObject ), + new Among ( "tur", -1, -1, "", methodObject ), + new Among ( "d\u00FCr", -1, -1, "", methodObject ), + new Among ( "t\u00FCr", -1, -1, "", methodObject ), + new Among ( "d\u0131r", -1, -1, "", methodObject ), + new Among ( "t\u0131r", -1, -1, "", methodObject ) + }; + + private final static Among a_19[] = { + new Among ( "cas\u0131na", -1, -1, "", methodObject ), + new Among ( "cesine", -1, -1, "", methodObject ) + }; + + private final static Among a_20[] = { + new Among ( "di", -1, -1, "", methodObject ), + new Among ( "ti", -1, -1, "", methodObject ), + new Among ( "dik", -1, -1, "", methodObject ), + new Among ( "tik", -1, -1, "", methodObject ), + new Among ( "duk", -1, -1, "", methodObject ), + new Among ( "tuk", -1, -1, "", methodObject ), + new Among ( "d\u00FCk", -1, -1, "", methodObject ), + new Among ( "t\u00FCk", -1, -1, "", methodObject ), + new Among ( "d\u0131k", -1, -1, "", methodObject ), + new Among ( "t\u0131k", -1, -1, "", methodObject ), + new Among ( "dim", -1, -1, "", methodObject ), + new Among ( "tim", -1, -1, "", methodObject ), + new Among ( "dum", -1, -1, "", methodObject ), + new Among ( "tum", -1, -1, "", methodObject ), + new Among ( "d\u00FCm", -1, -1, "", methodObject ), + new Among ( "t\u00FCm", -1, -1, "", methodObject ), + new Among ( "d\u0131m", -1, -1, "", methodObject ), + new Among ( "t\u0131m", -1, -1, "", methodObject ), + new Among ( "din", -1, -1, "", methodObject ), + new Among ( "tin", -1, -1, "", methodObject ), + new Among ( "dun", -1, -1, "", methodObject ), + new Among ( "tun", -1, -1, "", methodObject ), + new Among ( "d\u00FCn", -1, -1, "", methodObject ), + new Among ( "t\u00FCn", -1, -1, "", methodObject ), + new Among ( "d\u0131n", -1, -1, "", methodObject ), + new Among ( "t\u0131n", -1, -1, "", methodObject ), + new Among ( "du", -1, -1, "", methodObject ), + new Among ( "tu", -1, -1, "", methodObject ), + new Among ( "d\u00FC", -1, -1, "", methodObject ), + new Among ( "t\u00FC", -1, -1, "", methodObject ), + new Among ( "d\u0131", -1, -1, "", methodObject ), + new Among ( "t\u0131", -1, -1, "", methodObject ) + }; + + private final static Among a_21[] = { + new Among ( "sa", -1, -1, "", methodObject ), + new Among ( "se", -1, -1, "", methodObject ), + new Among ( "sak", -1, -1, "", methodObject ), + new Among ( "sek", -1, -1, "", methodObject ), + new Among ( "sam", -1, -1, "", methodObject ), + new Among ( "sem", -1, -1, "", methodObject ), + new Among ( "san", -1, -1, "", methodObject ), + new Among ( "sen", -1, -1, "", methodObject ) + }; + + private final static Among a_22[] = { + new Among ( "mi\u015F", -1, -1, "", methodObject ), + new Among ( "mu\u015F", -1, -1, "", methodObject ), + new Among ( "m\u00FC\u015F", -1, -1, "", methodObject ), + new Among ( "m\u0131\u015F", -1, -1, "", methodObject ) + }; + + private final static Among a_23[] = { + new Among ( "b", -1, 1, "", methodObject ), + new Among ( "c", -1, 2, "", methodObject ), + new Among ( "d", -1, 3, "", methodObject ), + new Among ( "\u011F", -1, 4, "", methodObject ) + }; + + private static final char g_vowel[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 }; + + private static final char g_U[] = {1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 }; + + private static final char g_vowel1[] = {1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + + private static final char g_vowel2[] = {17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 }; + + private static final char g_vowel3[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + + private static final char g_vowel4[] = {17 }; + + private static final char g_vowel5[] = {65 }; + + private static final char g_vowel6[] = {65 }; + + private boolean B_continue_stemming_noun_suffixes; + private int I_strlen; + + private void copy_from(turkishStemmer other) { + B_continue_stemming_noun_suffixes = other.B_continue_stemming_noun_suffixes; + I_strlen = other.I_strlen; + super.copy_from(other); + } + + private boolean r_check_vowel_harmony() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + // (, line 111 + // test, line 112 + v_1 = limit - cursor; + // (, line 113 + // (, line 114 + // goto, line 114 + golab0: while(true) + { + v_2 = limit - cursor; + lab1: do { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_2; + break golab0; + } while (false); + cursor = limit - v_2; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + // (, line 115 + // or, line 116 + lab2: do { + v_3 = limit - cursor; + lab3: do { + // (, line 116 + // literal, line 116 + if (!(eq_s_b(1, "a"))) + { + break lab3; + } + // goto, line 116 + golab4: while(true) + { + v_4 = limit - cursor; + lab5: do { + if (!(in_grouping_b(g_vowel1, 97, 305))) + { + break lab5; + } + cursor = limit - v_4; + break golab4; + } while (false); + cursor = limit - v_4; + if (cursor <= limit_backward) + { + break lab3; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab6: do { + // (, line 117 + // literal, line 117 + if (!(eq_s_b(1, "e"))) + { + break lab6; + } + // goto, line 117 + golab7: while(true) + { + v_5 = limit - cursor; + lab8: do { + if (!(in_grouping_b(g_vowel2, 101, 252))) + { + break lab8; + } + cursor = limit - v_5; + break golab7; + } while (false); + cursor = limit - v_5; + if (cursor <= limit_backward) + { + break lab6; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab9: do { + // (, line 118 + // literal, line 118 + if (!(eq_s_b(1, "\u0131"))) + { + break lab9; + } + // goto, line 118 + golab10: while(true) + { + v_6 = limit - cursor; + lab11: do { + if (!(in_grouping_b(g_vowel3, 97, 305))) + { + break lab11; + } + cursor = limit - v_6; + break golab10; + } while (false); + cursor = limit - v_6; + if (cursor <= limit_backward) + { + break lab9; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab12: do { + // (, line 119 + // literal, line 119 + if (!(eq_s_b(1, "i"))) + { + break lab12; + } + // goto, line 119 + golab13: while(true) + { + v_7 = limit - cursor; + lab14: do { + if (!(in_grouping_b(g_vowel4, 101, 105))) + { + break lab14; + } + cursor = limit - v_7; + break golab13; + } while (false); + cursor = limit - v_7; + if (cursor <= limit_backward) + { + break lab12; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab15: do { + // (, line 120 + // literal, line 120 + if (!(eq_s_b(1, "o"))) + { + break lab15; + } + // goto, line 120 + golab16: while(true) + { + v_8 = limit - cursor; + lab17: do { + if (!(in_grouping_b(g_vowel5, 111, 117))) + { + break lab17; + } + cursor = limit - v_8; + break golab16; + } while (false); + cursor = limit - v_8; + if (cursor <= limit_backward) + { + break lab15; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab18: do { + // (, line 121 + // literal, line 121 + if (!(eq_s_b(1, "\u00F6"))) + { + break lab18; + } + // goto, line 121 + golab19: while(true) + { + v_9 = limit - cursor; + lab20: do { + if (!(in_grouping_b(g_vowel6, 246, 252))) + { + break lab20; + } + cursor = limit - v_9; + break golab19; + } while (false); + cursor = limit - v_9; + if (cursor <= limit_backward) + { + break lab18; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab21: do { + // (, line 122 + // literal, line 122 + if (!(eq_s_b(1, "u"))) + { + break lab21; + } + // goto, line 122 + golab22: while(true) + { + v_10 = limit - cursor; + lab23: do { + if (!(in_grouping_b(g_vowel5, 111, 117))) + { + break lab23; + } + cursor = limit - v_10; + break golab22; + } while (false); + cursor = limit - v_10; + if (cursor <= limit_backward) + { + break lab21; + } + cursor--; + } + break lab2; + } while (false); + cursor = limit - v_3; + // (, line 123 + // literal, line 123 + if (!(eq_s_b(1, "\u00FC"))) + { + return false; + } + // goto, line 123 + golab24: while(true) + { + v_11 = limit - cursor; + lab25: do { + if (!(in_grouping_b(g_vowel6, 246, 252))) + { + break lab25; + } + cursor = limit - v_11; + break golab24; + } while (false); + cursor = limit - v_11; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + } while (false); + cursor = limit - v_1; + return true; + } + + private boolean r_mark_suffix_with_optional_n_consonant() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + // (, line 132 + // or, line 134 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 133 + // (, line 133 + // test, line 133 + v_2 = limit - cursor; + // literal, line 133 + if (!(eq_s_b(1, "n"))) + { + break lab1; + } + cursor = limit - v_2; + // next, line 133 + if (cursor <= limit_backward) + { + break lab1; + } + cursor--; + // (, line 133 + // test, line 133 + v_3 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_3; + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 135 + // (, line 135 + // not, line 135 + { + v_4 = limit - cursor; + lab2: do { + // (, line 135 + // test, line 135 + v_5 = limit - cursor; + // literal, line 135 + if (!(eq_s_b(1, "n"))) + { + break lab2; + } + cursor = limit - v_5; + return false; + } while (false); + cursor = limit - v_4; + } + // test, line 135 + v_6 = limit - cursor; + // (, line 135 + // next, line 135 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // (, line 135 + // test, line 135 + v_7 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_7; + cursor = limit - v_6; + } while (false); + return true; + } + + private boolean r_mark_suffix_with_optional_s_consonant() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + // (, line 143 + // or, line 145 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 144 + // (, line 144 + // test, line 144 + v_2 = limit - cursor; + // literal, line 144 + if (!(eq_s_b(1, "s"))) + { + break lab1; + } + cursor = limit - v_2; + // next, line 144 + if (cursor <= limit_backward) + { + break lab1; + } + cursor--; + // (, line 144 + // test, line 144 + v_3 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_3; + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 146 + // (, line 146 + // not, line 146 + { + v_4 = limit - cursor; + lab2: do { + // (, line 146 + // test, line 146 + v_5 = limit - cursor; + // literal, line 146 + if (!(eq_s_b(1, "s"))) + { + break lab2; + } + cursor = limit - v_5; + return false; + } while (false); + cursor = limit - v_4; + } + // test, line 146 + v_6 = limit - cursor; + // (, line 146 + // next, line 146 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // (, line 146 + // test, line 146 + v_7 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_7; + cursor = limit - v_6; + } while (false); + return true; + } + + private boolean r_mark_suffix_with_optional_y_consonant() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + // (, line 153 + // or, line 155 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 154 + // (, line 154 + // test, line 154 + v_2 = limit - cursor; + // literal, line 154 + if (!(eq_s_b(1, "y"))) + { + break lab1; + } + cursor = limit - v_2; + // next, line 154 + if (cursor <= limit_backward) + { + break lab1; + } + cursor--; + // (, line 154 + // test, line 154 + v_3 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_3; + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 156 + // (, line 156 + // not, line 156 + { + v_4 = limit - cursor; + lab2: do { + // (, line 156 + // test, line 156 + v_5 = limit - cursor; + // literal, line 156 + if (!(eq_s_b(1, "y"))) + { + break lab2; + } + cursor = limit - v_5; + return false; + } while (false); + cursor = limit - v_4; + } + // test, line 156 + v_6 = limit - cursor; + // (, line 156 + // next, line 156 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // (, line 156 + // test, line 156 + v_7 = limit - cursor; + if (!(in_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_7; + cursor = limit - v_6; + } while (false); + return true; + } + + private boolean r_mark_suffix_with_optional_U_vowel() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + // (, line 159 + // or, line 161 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 160 + // (, line 160 + // test, line 160 + v_2 = limit - cursor; + if (!(in_grouping_b(g_U, 105, 305))) + { + break lab1; + } + cursor = limit - v_2; + // next, line 160 + if (cursor <= limit_backward) + { + break lab1; + } + cursor--; + // (, line 160 + // test, line 160 + v_3 = limit - cursor; + if (!(out_grouping_b(g_vowel, 97, 305))) + { + break lab1; + } + cursor = limit - v_3; + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 162 + // (, line 162 + // not, line 162 + { + v_4 = limit - cursor; + lab2: do { + // (, line 162 + // test, line 162 + v_5 = limit - cursor; + if (!(in_grouping_b(g_U, 105, 305))) + { + break lab2; + } + cursor = limit - v_5; + return false; + } while (false); + cursor = limit - v_4; + } + // test, line 162 + v_6 = limit - cursor; + // (, line 162 + // next, line 162 + if (cursor <= limit_backward) + { + return false; + } + cursor--; + // (, line 162 + // test, line 162 + v_7 = limit - cursor; + if (!(out_grouping_b(g_vowel, 97, 305))) + { + return false; + } + cursor = limit - v_7; + cursor = limit - v_6; + } while (false); + return true; + } + + private boolean r_mark_possessives() { + // (, line 166 + // among, line 167 + if (find_among_b(a_0, 10) == 0) + { + return false; + } + // (, line 169 + // call mark_suffix_with_optional_U_vowel, line 169 + if (!r_mark_suffix_with_optional_U_vowel()) + { + return false; + } + return true; + } + + private boolean r_mark_sU() { + // (, line 172 + // call check_vowel_harmony, line 173 + if (!r_check_vowel_harmony()) + { + return false; + } + if (!(in_grouping_b(g_U, 105, 305))) + { + return false; + } + // (, line 175 + // call mark_suffix_with_optional_s_consonant, line 175 + if (!r_mark_suffix_with_optional_s_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_lArI() { + // (, line 178 + // among, line 179 + if (find_among_b(a_1, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_yU() { + // (, line 182 + // call check_vowel_harmony, line 183 + if (!r_check_vowel_harmony()) + { + return false; + } + if (!(in_grouping_b(g_U, 105, 305))) + { + return false; + } + // (, line 185 + // call mark_suffix_with_optional_y_consonant, line 185 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_nU() { + // (, line 188 + // call check_vowel_harmony, line 189 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 190 + if (find_among_b(a_2, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_nUn() { + // (, line 193 + // call check_vowel_harmony, line 194 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 195 + if (find_among_b(a_3, 4) == 0) + { + return false; + } + // (, line 196 + // call mark_suffix_with_optional_n_consonant, line 196 + if (!r_mark_suffix_with_optional_n_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_yA() { + // (, line 199 + // call check_vowel_harmony, line 200 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 201 + if (find_among_b(a_4, 2) == 0) + { + return false; + } + // (, line 202 + // call mark_suffix_with_optional_y_consonant, line 202 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_nA() { + // (, line 205 + // call check_vowel_harmony, line 206 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 207 + if (find_among_b(a_5, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_DA() { + // (, line 210 + // call check_vowel_harmony, line 211 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 212 + if (find_among_b(a_6, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_ndA() { + // (, line 215 + // call check_vowel_harmony, line 216 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 217 + if (find_among_b(a_7, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_DAn() { + // (, line 220 + // call check_vowel_harmony, line 221 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 222 + if (find_among_b(a_8, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_ndAn() { + // (, line 225 + // call check_vowel_harmony, line 226 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 227 + if (find_among_b(a_9, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_ylA() { + // (, line 230 + // call check_vowel_harmony, line 231 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 232 + if (find_among_b(a_10, 2) == 0) + { + return false; + } + // (, line 233 + // call mark_suffix_with_optional_y_consonant, line 233 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_ki() { + // (, line 236 + // literal, line 237 + if (!(eq_s_b(2, "ki"))) + { + return false; + } + return true; + } + + private boolean r_mark_ncA() { + // (, line 240 + // call check_vowel_harmony, line 241 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 242 + if (find_among_b(a_11, 2) == 0) + { + return false; + } + // (, line 243 + // call mark_suffix_with_optional_n_consonant, line 243 + if (!r_mark_suffix_with_optional_n_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_yUm() { + // (, line 246 + // call check_vowel_harmony, line 247 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 248 + if (find_among_b(a_12, 4) == 0) + { + return false; + } + // (, line 249 + // call mark_suffix_with_optional_y_consonant, line 249 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_sUn() { + // (, line 252 + // call check_vowel_harmony, line 253 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 254 + if (find_among_b(a_13, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_yUz() { + // (, line 257 + // call check_vowel_harmony, line 258 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 259 + if (find_among_b(a_14, 4) == 0) + { + return false; + } + // (, line 260 + // call mark_suffix_with_optional_y_consonant, line 260 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_sUnUz() { + // (, line 263 + // among, line 264 + if (find_among_b(a_15, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_lAr() { + // (, line 267 + // call check_vowel_harmony, line 268 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 269 + if (find_among_b(a_16, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_nUz() { + // (, line 272 + // call check_vowel_harmony, line 273 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 274 + if (find_among_b(a_17, 4) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_DUr() { + // (, line 277 + // call check_vowel_harmony, line 278 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 279 + if (find_among_b(a_18, 8) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_cAsInA() { + // (, line 282 + // among, line 283 + if (find_among_b(a_19, 2) == 0) + { + return false; + } + return true; + } + + private boolean r_mark_yDU() { + // (, line 286 + // call check_vowel_harmony, line 287 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 288 + if (find_among_b(a_20, 32) == 0) + { + return false; + } + // (, line 292 + // call mark_suffix_with_optional_y_consonant, line 292 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_ysA() { + // (, line 296 + // among, line 297 + if (find_among_b(a_21, 8) == 0) + { + return false; + } + // (, line 298 + // call mark_suffix_with_optional_y_consonant, line 298 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_ymUs_() { + // (, line 301 + // call check_vowel_harmony, line 302 + if (!r_check_vowel_harmony()) + { + return false; + } + // among, line 303 + if (find_among_b(a_22, 4) == 0) + { + return false; + } + // (, line 304 + // call mark_suffix_with_optional_y_consonant, line 304 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_mark_yken() { + // (, line 307 + // literal, line 308 + if (!(eq_s_b(3, "ken"))) + { + return false; + } + // (, line 308 + // call mark_suffix_with_optional_y_consonant, line 308 + if (!r_mark_suffix_with_optional_y_consonant()) + { + return false; + } + return true; + } + + private boolean r_stem_nominal_verb_suffixes() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + // (, line 311 + // [, line 312 + ket = cursor; + // set continue_stemming_noun_suffixes, line 313 + B_continue_stemming_noun_suffixes = true; + // or, line 315 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 314 + // or, line 314 + lab2: do { + v_2 = limit - cursor; + lab3: do { + // call mark_ymUs_, line 314 + if (!r_mark_ymUs_()) + { + break lab3; + } + break lab2; + } while (false); + cursor = limit - v_2; + lab4: do { + // call mark_yDU, line 314 + if (!r_mark_yDU()) + { + break lab4; + } + break lab2; + } while (false); + cursor = limit - v_2; + lab5: do { + // call mark_ysA, line 314 + if (!r_mark_ysA()) + { + break lab5; + } + break lab2; + } while (false); + cursor = limit - v_2; + // call mark_yken, line 314 + if (!r_mark_yken()) + { + break lab1; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab6: do { + // (, line 316 + // call mark_cAsInA, line 316 + if (!r_mark_cAsInA()) + { + break lab6; + } + // (, line 316 + // or, line 316 + lab7: do { + v_3 = limit - cursor; + lab8: do { + // call mark_sUnUz, line 316 + if (!r_mark_sUnUz()) + { + break lab8; + } + break lab7; + } while (false); + cursor = limit - v_3; + lab9: do { + // call mark_lAr, line 316 + if (!r_mark_lAr()) + { + break lab9; + } + break lab7; + } while (false); + cursor = limit - v_3; + lab10: do { + // call mark_yUm, line 316 + if (!r_mark_yUm()) + { + break lab10; + } + break lab7; + } while (false); + cursor = limit - v_3; + lab11: do { + // call mark_sUn, line 316 + if (!r_mark_sUn()) + { + break lab11; + } + break lab7; + } while (false); + cursor = limit - v_3; + lab12: do { + // call mark_yUz, line 316 + if (!r_mark_yUz()) + { + break lab12; + } + break lab7; + } while (false); + cursor = limit - v_3; + } while (false); + // call mark_ymUs_, line 316 + if (!r_mark_ymUs_()) + { + break lab6; + } + break lab0; + } while (false); + cursor = limit - v_1; + lab13: do { + // (, line 318 + // call mark_lAr, line 319 + if (!r_mark_lAr()) + { + break lab13; + } + // ], line 319 + bra = cursor; + // delete, line 319 + slice_del(); + // try, line 319 + v_4 = limit - cursor; + lab14: do { + // (, line 319 + // [, line 319 + ket = cursor; + // (, line 319 + // or, line 319 + lab15: do { + v_5 = limit - cursor; + lab16: do { + // call mark_DUr, line 319 + if (!r_mark_DUr()) + { + break lab16; + } + break lab15; + } while (false); + cursor = limit - v_5; + lab17: do { + // call mark_yDU, line 319 + if (!r_mark_yDU()) + { + break lab17; + } + break lab15; + } while (false); + cursor = limit - v_5; + lab18: do { + // call mark_ysA, line 319 + if (!r_mark_ysA()) + { + break lab18; + } + break lab15; + } while (false); + cursor = limit - v_5; + // call mark_ymUs_, line 319 + if (!r_mark_ymUs_()) + { + cursor = limit - v_4; + break lab14; + } + } while (false); + } while (false); + // unset continue_stemming_noun_suffixes, line 320 + B_continue_stemming_noun_suffixes = false; + break lab0; + } while (false); + cursor = limit - v_1; + lab19: do { + // (, line 323 + // call mark_nUz, line 323 + if (!r_mark_nUz()) + { + break lab19; + } + // (, line 323 + // or, line 323 + lab20: do { + v_6 = limit - cursor; + lab21: do { + // call mark_yDU, line 323 + if (!r_mark_yDU()) + { + break lab21; + } + break lab20; + } while (false); + cursor = limit - v_6; + // call mark_ysA, line 323 + if (!r_mark_ysA()) + { + break lab19; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab22: do { + // (, line 325 + // (, line 325 + // or, line 325 + lab23: do { + v_7 = limit - cursor; + lab24: do { + // call mark_sUnUz, line 325 + if (!r_mark_sUnUz()) + { + break lab24; + } + break lab23; + } while (false); + cursor = limit - v_7; + lab25: do { + // call mark_yUz, line 325 + if (!r_mark_yUz()) + { + break lab25; + } + break lab23; + } while (false); + cursor = limit - v_7; + lab26: do { + // call mark_sUn, line 325 + if (!r_mark_sUn()) + { + break lab26; + } + break lab23; + } while (false); + cursor = limit - v_7; + // call mark_yUm, line 325 + if (!r_mark_yUm()) + { + break lab22; + } + } while (false); + // ], line 325 + bra = cursor; + // delete, line 325 + slice_del(); + // try, line 325 + v_8 = limit - cursor; + lab27: do { + // (, line 325 + // [, line 325 + ket = cursor; + // call mark_ymUs_, line 325 + if (!r_mark_ymUs_()) + { + cursor = limit - v_8; + break lab27; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 327 + // call mark_DUr, line 327 + if (!r_mark_DUr()) + { + return false; + } + // ], line 327 + bra = cursor; + // delete, line 327 + slice_del(); + // try, line 327 + v_9 = limit - cursor; + lab28: do { + // (, line 327 + // [, line 327 + ket = cursor; + // (, line 327 + // or, line 327 + lab29: do { + v_10 = limit - cursor; + lab30: do { + // call mark_sUnUz, line 327 + if (!r_mark_sUnUz()) + { + break lab30; + } + break lab29; + } while (false); + cursor = limit - v_10; + lab31: do { + // call mark_lAr, line 327 + if (!r_mark_lAr()) + { + break lab31; + } + break lab29; + } while (false); + cursor = limit - v_10; + lab32: do { + // call mark_yUm, line 327 + if (!r_mark_yUm()) + { + break lab32; + } + break lab29; + } while (false); + cursor = limit - v_10; + lab33: do { + // call mark_sUn, line 327 + if (!r_mark_sUn()) + { + break lab33; + } + break lab29; + } while (false); + cursor = limit - v_10; + lab34: do { + // call mark_yUz, line 327 + if (!r_mark_yUz()) + { + break lab34; + } + break lab29; + } while (false); + cursor = limit - v_10; + } while (false); + // call mark_ymUs_, line 327 + if (!r_mark_ymUs_()) + { + cursor = limit - v_9; + break lab28; + } + } while (false); + } while (false); + // ], line 328 + bra = cursor; + // delete, line 328 + slice_del(); + return true; + } + + private boolean r_stem_suffix_chain_before_ki() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + // (, line 332 + // [, line 333 + ket = cursor; + // call mark_ki, line 334 + if (!r_mark_ki()) + { + return false; + } + // (, line 335 + // or, line 342 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 336 + // call mark_DA, line 336 + if (!r_mark_DA()) + { + break lab1; + } + // ], line 336 + bra = cursor; + // delete, line 336 + slice_del(); + // try, line 336 + v_2 = limit - cursor; + lab2: do { + // (, line 336 + // [, line 336 + ket = cursor; + // or, line 338 + lab3: do { + v_3 = limit - cursor; + lab4: do { + // (, line 337 + // call mark_lAr, line 337 + if (!r_mark_lAr()) + { + break lab4; + } + // ], line 337 + bra = cursor; + // delete, line 337 + slice_del(); + // try, line 337 + v_4 = limit - cursor; + lab5: do { + // (, line 337 + // call stem_suffix_chain_before_ki, line 337 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_4; + break lab5; + } + } while (false); + break lab3; + } while (false); + cursor = limit - v_3; + // (, line 339 + // call mark_possessives, line 339 + if (!r_mark_possessives()) + { + cursor = limit - v_2; + break lab2; + } + // ], line 339 + bra = cursor; + // delete, line 339 + slice_del(); + // try, line 339 + v_5 = limit - cursor; + lab6: do { + // (, line 339 + // [, line 339 + ket = cursor; + // call mark_lAr, line 339 + if (!r_mark_lAr()) + { + cursor = limit - v_5; + break lab6; + } + // ], line 339 + bra = cursor; + // delete, line 339 + slice_del(); + // call stem_suffix_chain_before_ki, line 339 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_5; + break lab6; + } + } while (false); + } while (false); + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab7: do { + // (, line 343 + // call mark_nUn, line 343 + if (!r_mark_nUn()) + { + break lab7; + } + // ], line 343 + bra = cursor; + // delete, line 343 + slice_del(); + // try, line 343 + v_6 = limit - cursor; + lab8: do { + // (, line 343 + // [, line 343 + ket = cursor; + // or, line 345 + lab9: do { + v_7 = limit - cursor; + lab10: do { + // (, line 344 + // call mark_lArI, line 344 + if (!r_mark_lArI()) + { + break lab10; + } + // ], line 344 + bra = cursor; + // delete, line 344 + slice_del(); + break lab9; + } while (false); + cursor = limit - v_7; + lab11: do { + // (, line 346 + // [, line 346 + ket = cursor; + // or, line 346 + lab12: do { + v_8 = limit - cursor; + lab13: do { + // call mark_possessives, line 346 + if (!r_mark_possessives()) + { + break lab13; + } + break lab12; + } while (false); + cursor = limit - v_8; + // call mark_sU, line 346 + if (!r_mark_sU()) + { + break lab11; + } + } while (false); + // ], line 346 + bra = cursor; + // delete, line 346 + slice_del(); + // try, line 346 + v_9 = limit - cursor; + lab14: do { + // (, line 346 + // [, line 346 + ket = cursor; + // call mark_lAr, line 346 + if (!r_mark_lAr()) + { + cursor = limit - v_9; + break lab14; + } + // ], line 346 + bra = cursor; + // delete, line 346 + slice_del(); + // call stem_suffix_chain_before_ki, line 346 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_9; + break lab14; + } + } while (false); + break lab9; + } while (false); + cursor = limit - v_7; + // (, line 348 + // call stem_suffix_chain_before_ki, line 348 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_6; + break lab8; + } + } while (false); + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 351 + // call mark_ndA, line 351 + if (!r_mark_ndA()) + { + return false; + } + // (, line 351 + // or, line 353 + lab15: do { + v_10 = limit - cursor; + lab16: do { + // (, line 352 + // call mark_lArI, line 352 + if (!r_mark_lArI()) + { + break lab16; + } + // ], line 352 + bra = cursor; + // delete, line 352 + slice_del(); + break lab15; + } while (false); + cursor = limit - v_10; + lab17: do { + // (, line 354 + // (, line 354 + // call mark_sU, line 354 + if (!r_mark_sU()) + { + break lab17; + } + // ], line 354 + bra = cursor; + // delete, line 354 + slice_del(); + // try, line 354 + v_11 = limit - cursor; + lab18: do { + // (, line 354 + // [, line 354 + ket = cursor; + // call mark_lAr, line 354 + if (!r_mark_lAr()) + { + cursor = limit - v_11; + break lab18; + } + // ], line 354 + bra = cursor; + // delete, line 354 + slice_del(); + // call stem_suffix_chain_before_ki, line 354 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_11; + break lab18; + } + } while (false); + break lab15; + } while (false); + cursor = limit - v_10; + // (, line 356 + // call stem_suffix_chain_before_ki, line 356 + if (!r_stem_suffix_chain_before_ki()) + { + return false; + } + } while (false); + } while (false); + return true; + } + + private boolean r_stem_noun_suffixes() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + int v_12; + int v_13; + int v_14; + int v_15; + int v_16; + int v_17; + int v_18; + int v_19; + int v_20; + int v_21; + int v_22; + int v_23; + int v_24; + int v_25; + int v_26; + int v_27; + // (, line 361 + // or, line 363 + lab0: do { + v_1 = limit - cursor; + lab1: do { + // (, line 362 + // [, line 362 + ket = cursor; + // call mark_lAr, line 362 + if (!r_mark_lAr()) + { + break lab1; + } + // ], line 362 + bra = cursor; + // delete, line 362 + slice_del(); + // try, line 362 + v_2 = limit - cursor; + lab2: do { + // (, line 362 + // call stem_suffix_chain_before_ki, line 362 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_2; + break lab2; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab3: do { + // (, line 364 + // [, line 364 + ket = cursor; + // call mark_ncA, line 364 + if (!r_mark_ncA()) + { + break lab3; + } + // ], line 364 + bra = cursor; + // delete, line 364 + slice_del(); + // try, line 365 + v_3 = limit - cursor; + lab4: do { + // (, line 365 + // or, line 367 + lab5: do { + v_4 = limit - cursor; + lab6: do { + // (, line 366 + // [, line 366 + ket = cursor; + // call mark_lArI, line 366 + if (!r_mark_lArI()) + { + break lab6; + } + // ], line 366 + bra = cursor; + // delete, line 366 + slice_del(); + break lab5; + } while (false); + cursor = limit - v_4; + lab7: do { + // (, line 368 + // [, line 368 + ket = cursor; + // or, line 368 + lab8: do { + v_5 = limit - cursor; + lab9: do { + // call mark_possessives, line 368 + if (!r_mark_possessives()) + { + break lab9; + } + break lab8; + } while (false); + cursor = limit - v_5; + // call mark_sU, line 368 + if (!r_mark_sU()) + { + break lab7; + } + } while (false); + // ], line 368 + bra = cursor; + // delete, line 368 + slice_del(); + // try, line 368 + v_6 = limit - cursor; + lab10: do { + // (, line 368 + // [, line 368 + ket = cursor; + // call mark_lAr, line 368 + if (!r_mark_lAr()) + { + cursor = limit - v_6; + break lab10; + } + // ], line 368 + bra = cursor; + // delete, line 368 + slice_del(); + // call stem_suffix_chain_before_ki, line 368 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_6; + break lab10; + } + } while (false); + break lab5; + } while (false); + cursor = limit - v_4; + // (, line 370 + // [, line 370 + ket = cursor; + // call mark_lAr, line 370 + if (!r_mark_lAr()) + { + cursor = limit - v_3; + break lab4; + } + // ], line 370 + bra = cursor; + // delete, line 370 + slice_del(); + // call stem_suffix_chain_before_ki, line 370 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_3; + break lab4; + } + } while (false); + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab11: do { + // (, line 374 + // [, line 374 + ket = cursor; + // (, line 374 + // or, line 374 + lab12: do { + v_7 = limit - cursor; + lab13: do { + // call mark_ndA, line 374 + if (!r_mark_ndA()) + { + break lab13; + } + break lab12; + } while (false); + cursor = limit - v_7; + // call mark_nA, line 374 + if (!r_mark_nA()) + { + break lab11; + } + } while (false); + // (, line 375 + // or, line 377 + lab14: do { + v_8 = limit - cursor; + lab15: do { + // (, line 376 + // call mark_lArI, line 376 + if (!r_mark_lArI()) + { + break lab15; + } + // ], line 376 + bra = cursor; + // delete, line 376 + slice_del(); + break lab14; + } while (false); + cursor = limit - v_8; + lab16: do { + // (, line 378 + // call mark_sU, line 378 + if (!r_mark_sU()) + { + break lab16; + } + // ], line 378 + bra = cursor; + // delete, line 378 + slice_del(); + // try, line 378 + v_9 = limit - cursor; + lab17: do { + // (, line 378 + // [, line 378 + ket = cursor; + // call mark_lAr, line 378 + if (!r_mark_lAr()) + { + cursor = limit - v_9; + break lab17; + } + // ], line 378 + bra = cursor; + // delete, line 378 + slice_del(); + // call stem_suffix_chain_before_ki, line 378 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_9; + break lab17; + } + } while (false); + break lab14; + } while (false); + cursor = limit - v_8; + // (, line 380 + // call stem_suffix_chain_before_ki, line 380 + if (!r_stem_suffix_chain_before_ki()) + { + break lab11; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab18: do { + // (, line 384 + // [, line 384 + ket = cursor; + // (, line 384 + // or, line 384 + lab19: do { + v_10 = limit - cursor; + lab20: do { + // call mark_ndAn, line 384 + if (!r_mark_ndAn()) + { + break lab20; + } + break lab19; + } while (false); + cursor = limit - v_10; + // call mark_nU, line 384 + if (!r_mark_nU()) + { + break lab18; + } + } while (false); + // (, line 384 + // or, line 384 + lab21: do { + v_11 = limit - cursor; + lab22: do { + // (, line 384 + // call mark_sU, line 384 + if (!r_mark_sU()) + { + break lab22; + } + // ], line 384 + bra = cursor; + // delete, line 384 + slice_del(); + // try, line 384 + v_12 = limit - cursor; + lab23: do { + // (, line 384 + // [, line 384 + ket = cursor; + // call mark_lAr, line 384 + if (!r_mark_lAr()) + { + cursor = limit - v_12; + break lab23; + } + // ], line 384 + bra = cursor; + // delete, line 384 + slice_del(); + // call stem_suffix_chain_before_ki, line 384 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_12; + break lab23; + } + } while (false); + break lab21; + } while (false); + cursor = limit - v_11; + // (, line 384 + // call mark_lArI, line 384 + if (!r_mark_lArI()) + { + break lab18; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab24: do { + // (, line 386 + // [, line 386 + ket = cursor; + // call mark_DAn, line 386 + if (!r_mark_DAn()) + { + break lab24; + } + // ], line 386 + bra = cursor; + // delete, line 386 + slice_del(); + // try, line 386 + v_13 = limit - cursor; + lab25: do { + // (, line 386 + // [, line 386 + ket = cursor; + // (, line 387 + // or, line 389 + lab26: do { + v_14 = limit - cursor; + lab27: do { + // (, line 388 + // call mark_possessives, line 388 + if (!r_mark_possessives()) + { + break lab27; + } + // ], line 388 + bra = cursor; + // delete, line 388 + slice_del(); + // try, line 388 + v_15 = limit - cursor; + lab28: do { + // (, line 388 + // [, line 388 + ket = cursor; + // call mark_lAr, line 388 + if (!r_mark_lAr()) + { + cursor = limit - v_15; + break lab28; + } + // ], line 388 + bra = cursor; + // delete, line 388 + slice_del(); + // call stem_suffix_chain_before_ki, line 388 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_15; + break lab28; + } + } while (false); + break lab26; + } while (false); + cursor = limit - v_14; + lab29: do { + // (, line 390 + // call mark_lAr, line 390 + if (!r_mark_lAr()) + { + break lab29; + } + // ], line 390 + bra = cursor; + // delete, line 390 + slice_del(); + // try, line 390 + v_16 = limit - cursor; + lab30: do { + // (, line 390 + // call stem_suffix_chain_before_ki, line 390 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_16; + break lab30; + } + } while (false); + break lab26; + } while (false); + cursor = limit - v_14; + // (, line 392 + // call stem_suffix_chain_before_ki, line 392 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_13; + break lab25; + } + } while (false); + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab31: do { + // (, line 396 + // [, line 396 + ket = cursor; + // or, line 396 + lab32: do { + v_17 = limit - cursor; + lab33: do { + // call mark_nUn, line 396 + if (!r_mark_nUn()) + { + break lab33; + } + break lab32; + } while (false); + cursor = limit - v_17; + // call mark_ylA, line 396 + if (!r_mark_ylA()) + { + break lab31; + } + } while (false); + // ], line 396 + bra = cursor; + // delete, line 396 + slice_del(); + // try, line 397 + v_18 = limit - cursor; + lab34: do { + // (, line 397 + // or, line 399 + lab35: do { + v_19 = limit - cursor; + lab36: do { + // (, line 398 + // [, line 398 + ket = cursor; + // call mark_lAr, line 398 + if (!r_mark_lAr()) + { + break lab36; + } + // ], line 398 + bra = cursor; + // delete, line 398 + slice_del(); + // call stem_suffix_chain_before_ki, line 398 + if (!r_stem_suffix_chain_before_ki()) + { + break lab36; + } + break lab35; + } while (false); + cursor = limit - v_19; + lab37: do { + // (, line 400 + // [, line 400 + ket = cursor; + // or, line 400 + lab38: do { + v_20 = limit - cursor; + lab39: do { + // call mark_possessives, line 400 + if (!r_mark_possessives()) + { + break lab39; + } + break lab38; + } while (false); + cursor = limit - v_20; + // call mark_sU, line 400 + if (!r_mark_sU()) + { + break lab37; + } + } while (false); + // ], line 400 + bra = cursor; + // delete, line 400 + slice_del(); + // try, line 400 + v_21 = limit - cursor; + lab40: do { + // (, line 400 + // [, line 400 + ket = cursor; + // call mark_lAr, line 400 + if (!r_mark_lAr()) + { + cursor = limit - v_21; + break lab40; + } + // ], line 400 + bra = cursor; + // delete, line 400 + slice_del(); + // call stem_suffix_chain_before_ki, line 400 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_21; + break lab40; + } + } while (false); + break lab35; + } while (false); + cursor = limit - v_19; + // call stem_suffix_chain_before_ki, line 402 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_18; + break lab34; + } + } while (false); + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + lab41: do { + // (, line 406 + // [, line 406 + ket = cursor; + // call mark_lArI, line 406 + if (!r_mark_lArI()) + { + break lab41; + } + // ], line 406 + bra = cursor; + // delete, line 406 + slice_del(); + break lab0; + } while (false); + cursor = limit - v_1; + lab42: do { + // (, line 408 + // call stem_suffix_chain_before_ki, line 408 + if (!r_stem_suffix_chain_before_ki()) + { + break lab42; + } + break lab0; + } while (false); + cursor = limit - v_1; + lab43: do { + // (, line 410 + // [, line 410 + ket = cursor; + // or, line 410 + lab44: do { + v_22 = limit - cursor; + lab45: do { + // call mark_DA, line 410 + if (!r_mark_DA()) + { + break lab45; + } + break lab44; + } while (false); + cursor = limit - v_22; + lab46: do { + // call mark_yU, line 410 + if (!r_mark_yU()) + { + break lab46; + } + break lab44; + } while (false); + cursor = limit - v_22; + // call mark_yA, line 410 + if (!r_mark_yA()) + { + break lab43; + } + } while (false); + // ], line 410 + bra = cursor; + // delete, line 410 + slice_del(); + // try, line 410 + v_23 = limit - cursor; + lab47: do { + // (, line 410 + // [, line 410 + ket = cursor; + // (, line 410 + // or, line 410 + lab48: do { + v_24 = limit - cursor; + lab49: do { + // (, line 410 + // call mark_possessives, line 410 + if (!r_mark_possessives()) + { + break lab49; + } + // ], line 410 + bra = cursor; + // delete, line 410 + slice_del(); + // try, line 410 + v_25 = limit - cursor; + lab50: do { + // (, line 410 + // [, line 410 + ket = cursor; + // call mark_lAr, line 410 + if (!r_mark_lAr()) + { + cursor = limit - v_25; + break lab50; + } + } while (false); + break lab48; + } while (false); + cursor = limit - v_24; + // call mark_lAr, line 410 + if (!r_mark_lAr()) + { + cursor = limit - v_23; + break lab47; + } + } while (false); + // ], line 410 + bra = cursor; + // delete, line 410 + slice_del(); + // [, line 410 + ket = cursor; + // call stem_suffix_chain_before_ki, line 410 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_23; + break lab47; + } + } while (false); + break lab0; + } while (false); + cursor = limit - v_1; + // (, line 412 + // [, line 412 + ket = cursor; + // or, line 412 + lab51: do { + v_26 = limit - cursor; + lab52: do { + // call mark_possessives, line 412 + if (!r_mark_possessives()) + { + break lab52; + } + break lab51; + } while (false); + cursor = limit - v_26; + // call mark_sU, line 412 + if (!r_mark_sU()) + { + return false; + } + } while (false); + // ], line 412 + bra = cursor; + // delete, line 412 + slice_del(); + // try, line 412 + v_27 = limit - cursor; + lab53: do { + // (, line 412 + // [, line 412 + ket = cursor; + // call mark_lAr, line 412 + if (!r_mark_lAr()) + { + cursor = limit - v_27; + break lab53; + } + // ], line 412 + bra = cursor; + // delete, line 412 + slice_del(); + // call stem_suffix_chain_before_ki, line 412 + if (!r_stem_suffix_chain_before_ki()) + { + cursor = limit - v_27; + break lab53; + } + } while (false); + } while (false); + return true; + } + + private boolean r_post_process_last_consonants() { + int among_var; + // (, line 415 + // [, line 416 + ket = cursor; + // substring, line 416 + among_var = find_among_b(a_23, 4); + if (among_var == 0) + { + return false; + } + // ], line 416 + bra = cursor; + switch(among_var) { + case 0: + return false; + case 1: + // (, line 417 + // <-, line 417 + slice_from("p"); + break; + case 2: + // (, line 418 + // <-, line 418 + slice_from("\u00E7"); + break; + case 3: + // (, line 419 + // <-, line 419 + slice_from("t"); + break; + case 4: + // (, line 420 + // <-, line 420 + slice_from("k"); + break; + } + return true; + } + + private boolean r_append_U_to_stems_ending_with_d_or_g() { + int v_1; + int v_2; + int v_3; + int v_4; + int v_5; + int v_6; + int v_7; + int v_8; + int v_9; + int v_10; + int v_11; + int v_12; + int v_13; + int v_14; + int v_15; + // (, line 430 + // test, line 431 + v_1 = limit - cursor; + // (, line 431 + // or, line 431 + lab0: do { + v_2 = limit - cursor; + lab1: do { + // literal, line 431 + if (!(eq_s_b(1, "d"))) + { + break lab1; + } + break lab0; + } while (false); + cursor = limit - v_2; + // literal, line 431 + if (!(eq_s_b(1, "g"))) + { + return false; + } + } while (false); + cursor = limit - v_1; + // or, line 433 + lab2: do { + v_3 = limit - cursor; + lab3: do { + // (, line 432 + // test, line 432 + v_4 = limit - cursor; + // (, line 432 + // (, line 432 + // goto, line 432 + golab4: while(true) + { + v_5 = limit - cursor; + lab5: do { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab5; + } + cursor = limit - v_5; + break golab4; + } while (false); + cursor = limit - v_5; + if (cursor <= limit_backward) + { + break lab3; + } + cursor--; + } + // or, line 432 + lab6: do { + v_6 = limit - cursor; + lab7: do { + // literal, line 432 + if (!(eq_s_b(1, "a"))) + { + break lab7; + } + break lab6; + } while (false); + cursor = limit - v_6; + // literal, line 432 + if (!(eq_s_b(1, "\u0131"))) + { + break lab3; + } + } while (false); + cursor = limit - v_4; + // <+, line 432 + { + int c = cursor; + insert(cursor, cursor, "\u0131"); + cursor = c; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab8: do { + // (, line 434 + // test, line 434 + v_7 = limit - cursor; + // (, line 434 + // (, line 434 + // goto, line 434 + golab9: while(true) + { + v_8 = limit - cursor; + lab10: do { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab10; + } + cursor = limit - v_8; + break golab9; + } while (false); + cursor = limit - v_8; + if (cursor <= limit_backward) + { + break lab8; + } + cursor--; + } + // or, line 434 + lab11: do { + v_9 = limit - cursor; + lab12: do { + // literal, line 434 + if (!(eq_s_b(1, "e"))) + { + break lab12; + } + break lab11; + } while (false); + cursor = limit - v_9; + // literal, line 434 + if (!(eq_s_b(1, "i"))) + { + break lab8; + } + } while (false); + cursor = limit - v_7; + // <+, line 434 + { + int c = cursor; + insert(cursor, cursor, "i"); + cursor = c; + } + break lab2; + } while (false); + cursor = limit - v_3; + lab13: do { + // (, line 436 + // test, line 436 + v_10 = limit - cursor; + // (, line 436 + // (, line 436 + // goto, line 436 + golab14: while(true) + { + v_11 = limit - cursor; + lab15: do { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab15; + } + cursor = limit - v_11; + break golab14; + } while (false); + cursor = limit - v_11; + if (cursor <= limit_backward) + { + break lab13; + } + cursor--; + } + // or, line 436 + lab16: do { + v_12 = limit - cursor; + lab17: do { + // literal, line 436 + if (!(eq_s_b(1, "o"))) + { + break lab17; + } + break lab16; + } while (false); + cursor = limit - v_12; + // literal, line 436 + if (!(eq_s_b(1, "u"))) + { + break lab13; + } + } while (false); + cursor = limit - v_10; + // <+, line 436 + { + int c = cursor; + insert(cursor, cursor, "u"); + cursor = c; + } + break lab2; + } while (false); + cursor = limit - v_3; + // (, line 438 + // test, line 438 + v_13 = limit - cursor; + // (, line 438 + // (, line 438 + // goto, line 438 + golab18: while(true) + { + v_14 = limit - cursor; + lab19: do { + if (!(in_grouping_b(g_vowel, 97, 305))) + { + break lab19; + } + cursor = limit - v_14; + break golab18; + } while (false); + cursor = limit - v_14; + if (cursor <= limit_backward) + { + return false; + } + cursor--; + } + // or, line 438 + lab20: do { + v_15 = limit - cursor; + lab21: do { + // literal, line 438 + if (!(eq_s_b(1, "\u00F6"))) + { + break lab21; + } + break lab20; + } while (false); + cursor = limit - v_15; + // literal, line 438 + if (!(eq_s_b(1, "\u00FC"))) + { + return false; + } + } while (false); + cursor = limit - v_13; + // <+, line 438 + { + int c = cursor; + insert(cursor, cursor, "\u00FC"); + cursor = c; + } + } while (false); + return true; + } + + private boolean r_more_than_one_syllable_word() { + int v_1; + int v_3; + // (, line 445 + // test, line 446 + v_1 = cursor; + // (, line 446 + // atleast, line 446 + { + int v_2 = 2; + // atleast, line 446 + replab0: while(true) + { + v_3 = cursor; + lab1: do { + // (, line 446 + // gopast, line 446 + golab2: while(true) + { + lab3: do { + if (!(in_grouping(g_vowel, 97, 305))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + v_2--; + continue replab0; + } while (false); + cursor = v_3; + break replab0; + } + if (v_2 > 0) + { + return false; + } + } + cursor = v_1; + return true; + } + + private boolean r_is_reserved_word() { + int v_1; + int v_2; + int v_4; + // (, line 449 + // or, line 451 + lab0: do { + v_1 = cursor; + lab1: do { + // test, line 450 + v_2 = cursor; + // (, line 450 + // gopast, line 450 + golab2: while(true) + { + lab3: do { + // literal, line 450 + if (!(eq_s(2, "ad"))) + { + break lab3; + } + break golab2; + } while (false); + if (cursor >= limit) + { + break lab1; + } + cursor++; + } + // (, line 450 + I_strlen = 2; + // (, line 450 + if (!(I_strlen == limit)) + { + break lab1; + } + cursor = v_2; + break lab0; + } while (false); + cursor = v_1; + // test, line 452 + v_4 = cursor; + // (, line 452 + // gopast, line 452 + golab4: while(true) + { + lab5: do { + // literal, line 452 + if (!(eq_s(5, "soyad"))) + { + break lab5; + } + break golab4; + } while (false); + if (cursor >= limit) + { + return false; + } + cursor++; + } + // (, line 452 + I_strlen = 5; + // (, line 452 + if (!(I_strlen == limit)) + { + return false; + } + cursor = v_4; + } while (false); + return true; + } + + private boolean r_postlude() { + int v_1; + int v_2; + int v_3; + // (, line 455 + // not, line 456 + { + v_1 = cursor; + lab0: do { + // (, line 456 + // call is_reserved_word, line 456 + if (!r_is_reserved_word()) + { + break lab0; + } + return false; + } while (false); + cursor = v_1; + } + // backwards, line 457 + limit_backward = cursor; cursor = limit; + // (, line 457 + // do, line 458 + v_2 = limit - cursor; + lab1: do { + // call append_U_to_stems_ending_with_d_or_g, line 458 + if (!r_append_U_to_stems_ending_with_d_or_g()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + // do, line 459 + v_3 = limit - cursor; + lab2: do { + // call post_process_last_consonants, line 459 + if (!r_post_process_last_consonants()) + { + break lab2; + } + } while (false); + cursor = limit - v_3; + cursor = limit_backward; return true; + } + + public boolean stem() { + int v_1; + int v_2; + // (, line 464 + // (, line 465 + // call more_than_one_syllable_word, line 465 + if (!r_more_than_one_syllable_word()) + { + return false; + } + // (, line 466 + // backwards, line 467 + limit_backward = cursor; cursor = limit; + // (, line 467 + // do, line 468 + v_1 = limit - cursor; + lab0: do { + // call stem_nominal_verb_suffixes, line 468 + if (!r_stem_nominal_verb_suffixes()) + { + break lab0; + } + } while (false); + cursor = limit - v_1; + // Boolean test continue_stemming_noun_suffixes, line 469 + if (!(B_continue_stemming_noun_suffixes)) + { + return false; + } + // do, line 470 + v_2 = limit - cursor; + lab1: do { + // call stem_noun_suffixes, line 470 + if (!r_stem_noun_suffixes()) + { + break lab1; + } + } while (false); + cursor = limit - v_2; + cursor = limit_backward; // call postlude, line 473 + if (!r_postlude()) + { + return false; + } + return true; + } + + public boolean equals( Object o ) { + return o instanceof turkishStemmer; + } + + public int hashCode() { + return turkishStemmer.class.getName().hashCode(); + } + + + +} + diff --git a/xsl/webhelp/indexer/src/com/nexwave/stemmer/test.txt b/xsl/webhelp/indexer/src/com/nexwave/stemmer/test.txt deleted file mode 100755 index 19e9fda3f..000000000 --- a/xsl/webhelp/indexer/src/com/nexwave/stemmer/test.txt +++ /dev/null @@ -1,9 +0,0 @@ -common use requirement for technical publications groups is to produce a Web-based help format that includes a table of contents pane, a search feature, - -and an index similar to what you get from the Microsoft HTML Help (.chm) format or Eclipse help. If the content is help for a Web application that is not - -exposed to the Internet or requires that the user be logged in, then it is impossible to use services like Google to add search. - -You must use xhtml output because the search indexer cannot index html. - -No support for stemming. If you search for "start" it will not find "started" and vice versa. diff --git a/xsl/webhelp/template/common/css/positioning.css b/xsl/webhelp/template/common/css/positioning.css index a9a6b9140..d5e1830ef 100755 --- a/xsl/webhelp/template/common/css/positioning.css +++ b/xsl/webhelp/template/common/css/positioning.css @@ -1,23 +1,24 @@ body { - margin: 0; - padding: 0; + font: 12px Verdana, Geneva, sans-serif; } p, ul, ol, li { - font: 10pt Arial, geneva, helvetica; + font: 10pt Verdana, Geneva, sans-serif; } h1 { - font: bold 14pt Arial, Helvetica, geneva; + font: bold 15pt Arial, Helvetica, geneva; } + h2 { - font: bold 12pt Arial, Helvetica, geneva; + font: bold 14pt Arial, Helvetica, geneva; } + #header { background: white url(../images/gov-header-bg.gif) repeat-x; position: fixed; width: 100%; - height: 88px; + height: 90px; top: 0; right: 0; bottom: auto; @@ -25,58 +26,50 @@ h2 { border-bottom: 2px solid #cccccc; z-index: 2000; } + #leftnavigation { /* background-color:#91e7b3;*/ overflow: auto; position: fixed; height: auto; - top: 88px; + top: 90px; bottom: 0; left: 0; width: 230px; margin: 0 0 0 10px; - overflow: auto; + z-index: 1500; } #content { position: relative; - top: 88px; - /* left: 240px;*/ - right: auto; - /* bottom: 20px; */ + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ margin: 0px 0px 0px 240px; width: auto; height: inherit; padding-left: 5px; padding-right: 12px; color: #000000; - border-left: 2px solid #cccccc; /*overflow :scroll;*/ + border-left: 2px solid #cccccc; /*overflow :scroll;*/ z-index: 1000; } #content h1, #content h2 { color: #cc0000; } - .navfooter { - bottom: 2%; + bottom: 2%; } - -.searchFieldSet { - font-size: 68.75%; +.pointLeft { + background: url("../images/showHideTreeIcons.png") 0 0 no-repeat; + height: 28px; + width: 15px; + display: block; + font-size: 0; } - -.pointLeft{ - background:url("../images/showHideTreeIcons.png") 0 0 no-repeat ; - height:28px; - width:15px; - display:block; - font-size:0; -} - -.pointRight{ +.pointRight { background: url("../images/showHideTreeIcons.png") -15px 0 no-repeat; - height:28px; - display:block; - font-size:0; + height: 28px; + display: block; + font-size: 0; } \ No newline at end of file diff --git a/xsl/webhelp/xsl/webhelp.xsl b/xsl/webhelp/xsl/webhelp.xsl index 6d6a9d2c7..c87a685e9 100755 --- a/xsl/webhelp/xsl/webhelp.xsl +++ b/xsl/webhelp/xsl/webhelp.xsl @@ -5,7 +5,7 @@ version="1.0" xmlns="http://www.w3.org/1999/xhtml"> - + @@ -24,11 +24,12 @@ left right + en no 0 - + 0 @@ -60,13 +61,15 @@ - + $indexer.language = +++ + --> + @@ -131,7 +134,14 @@ - @@ -151,25 +161,23 @@ - + -
+
.
- + - language: - - + language: @@ -200,61 +208,61 @@ - - - - - - - + + + + + + + + + - + + + + + - - - - - + + - - + + + + + - - - - - +
-
+ - + - + - + + + + + +
- - - - - -
- - - - - -
+ + + + +
- - - - - + + + + + - - + +