Revision: 6245 http://languagetool.svn.sourceforge.net/languagetool/?rev=6245&view=rev Author: dominikoeo Date: 2012-01-14 18:36:42 +0000 (Sat, 14 Jan 2012) Log Message: ----------- [uk] speed up startup time of Ukrainian language when loading MySpell dictionary. On my laptop, change speeds up startup time by ~ 0.25 seconds
Modified Paths: -------------- trunk/JLanguageTool/src/java/org/languagetool/tagging/uk/UkrainianMyspellTagger.java Modified: trunk/JLanguageTool/src/java/org/languagetool/tagging/uk/UkrainianMyspellTagger.java =================================================================== --- trunk/JLanguageTool/src/java/org/languagetool/tagging/uk/UkrainianMyspellTagger.java 2012-01-14 17:45:38 UTC (rev 6244) +++ trunk/JLanguageTool/src/java/org/languagetool/tagging/uk/UkrainianMyspellTagger.java 2012-01-14 18:36:42 UTC (rev 6245) @@ -26,6 +26,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.languagetool.AnalyzedToken; import org.languagetool.AnalyzedTokenReadings; @@ -68,6 +70,11 @@ final BufferedReader input = new BufferedReader(new InputStreamReader( resourceFile, Charset.forName("UTF-8"))); + final Pattern pattern1 = Pattern.compile("[abcdefghijklmnop]+"); + final Pattern pattern2 = Pattern.compile("[ABCDEFGHIJKLMN]+"); + final Pattern pattern3 = Pattern.compile("[BDFHJLN]+"); + final Pattern pattern4 = Pattern.compile("[UV]+"); + String line; while ((line = input.readLine()) != null) { line = line.trim(); @@ -80,17 +87,17 @@ final String flags = wrd[1]; final List<String> posTags = new ArrayList<String>(); - if (flags.matches("[abcdefghijklmnop]+")) { + if (pattern1.matcher(flags).matches()) { posTags.add(IPOSTag.TAG_NOUN); if (flags.equals("b")) { posTags.add(IPOSTag.TAG_PLURAL); } - } else if (flags.matches("[ABCDEFGHIJKLMN]+")) { + } else if (pattern2.matcher(flags).matches()) { posTags.add(IPOSTag.TAG_VERB); - if (flags.matches("^[BDFHJLN]+")) { + if (pattern3.matcher(flags).matches()) { posTags.add(IPOSTag.TAG_REFL); } - } else if (flags.matches("[UV]+")) { + } else if (pattern4.matcher(flags).matches()) { posTags.add(IPOSTag.TAG_ADJ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ Languagetool-cvs mailing list Languagetool-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-cvs