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
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs