Revision: 7708
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7708&view=rev
Author:   jaumeortola
Date:     2012-07-16 11:08:26 +0000 (Mon, 16 Jul 2012)
Log Message:
-----------
[ca] Java rule improved ACCENTUATION_CHECK.

Modified Paths:
--------------
    
trunk/JLanguageTool/src/java/org/languagetool/rules/ca/AccentuationCheckRule.java
    
trunk/JLanguageTool/src/test/org/languagetool/rules/ca/AccentuationCheckRuleTest.java

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/rules/ca/AccentuationCheckRule.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/ca/AccentuationCheckRule.java
   2012-07-15 13:31:59 UTC (rev 7707)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/ca/AccentuationCheckRule.java
   2012-07-16 11:08:26 UTC (rev 7708)
@@ -67,10 +67,10 @@
   private static final Pattern NOM_FS = Pattern.compile("NC[FC][SN].*");
   private static final Pattern NOM_MP = Pattern.compile("NC[MC][PN].*");
   private static final Pattern NOM_FP = Pattern.compile("NC[FC][PN].*");
-  private static final Pattern ADJECTIU_MS = 
Pattern.compile("AQ.[MC][SN].*|V.P..SM");
-  private static final Pattern ADJECTIU_FS = 
Pattern.compile("AQ.[FC][SN].*|V.P..SF");
-  private static final Pattern ADJECTIU_MP = 
Pattern.compile("AQ.[MC][PN].*|V.P..PM");
-  private static final Pattern ADJECTIU_FP = 
Pattern.compile("AQ.[FC][PN].*|V.P..PF");
+  private static final Pattern ADJECTIU_MS = 
Pattern.compile("AQ.[MC][SN].*|V.P..SM|PX.MS.*");
+  private static final Pattern ADJECTIU_FS = 
Pattern.compile("AQ.[FC][SN].*|V.P..SF|PX.FS.*");
+  private static final Pattern ADJECTIU_MP = 
Pattern.compile("AQ.[MC][PN].*|V.P..PM|PX.MP.*");
+  private static final Pattern ADJECTIU_FP = 
Pattern.compile("AQ.[FC][PN].*|V.P..PF|PX.FP.*");
   private static final Pattern INFINITIU = Pattern.compile("V.N.*");
   private static final Pattern VERB_CONJUGAT = Pattern.compile("V.[^NGP].*");
   private static final Pattern NOT_IN_PREV_TOKEN = 
Pattern.compile("VA.*|PP.*|P0.*|VSP.*");
@@ -188,6 +188,7 @@
        //circumstancies extraordinàries
        else if ( !token.equals("pronuncia") && !token.equals("pronuncies") && 
!token.equals("venia") && !token.equals("venies")
                  && !token.equals("tenia") && !token.equals("tenies") && 
!token.equals("continua") && !token.equals("continues")
+                 && !token.equals("genera")
                  && (i<tokens.length-1) &&
                  (
                    (matchPostagRegexp(relevantWords.get(token),NOM_MS) && 
matchPostagRegexp(tokens[i+1],ADJECTIU_MS))
@@ -199,6 +200,17 @@
        {
                replacement = relevantWords.get(token).getToken();
        }
+       //les seves contraries
+       else if (
+                   (matchPostagRegexp(relevantWords.get(token),NOM_MS) && 
matchPostagRegexp(tokens[i-1],ADJECTIU_MS))
+                   || (matchPostagRegexp(relevantWords.get(token),NOM_FS) && 
matchPostagRegexp(tokens[i-1],ADJECTIU_FS) 
+                               && !token.equals("venia") && 
!token.equals("tenia") && !token.equals("continua") && !token.equals("genera") )
+                   || (matchPostagRegexp(relevantWords.get(token),NOM_MP) && 
matchPostagRegexp(tokens[i-1],ADJECTIU_MP))
+                   || (matchPostagRegexp(relevantWords.get(token),NOM_FP) && 
matchPostagRegexp(tokens[i-1],ADJECTIU_FP))
+                 )
+       {
+               replacement = relevantWords.get(token).getToken();
+       }
        // les circumstancies que ens envolten
        else if ( nextToken.equals("que") &&
                   (  ( mArticleELMS.matches() && 
matchPostagRegexp(relevantWords.get(token),NOM_MS) )

Modified: 
trunk/JLanguageTool/src/test/org/languagetool/rules/ca/AccentuationCheckRuleTest.java
===================================================================
--- 
trunk/JLanguageTool/src/test/org/languagetool/rules/ca/AccentuationCheckRuleTest.java
       2012-07-15 13:31:59 UTC (rev 7707)
+++ 
trunk/JLanguageTool/src/test/org/languagetool/rules/ca/AccentuationCheckRuleTest.java
       2012-07-16 11:08:26 UTC (rev 7708)
@@ -43,6 +43,8 @@
   public void testRule() throws IOException {
 
     // correct sentences:
+       assertCorrect("El cos genera suficient pressió interna.");
+       assertCorrect("Les seues contràries.");
     assertCorrect("Això és una frase de prova.");
     assertCorrect("Amb renúncies i esforç.");
     assertCorrect("He vingut per a cantar");
@@ -67,6 +69,7 @@
     assertCorrect("La magnífica conservació del palau.");
 
     // errors:
+    assertIncorrect("Les seues contraries.");
     assertIncorrect("Amb renuncies i esforç.");
     assertIncorrect("La renuncia del president.");
     assertIncorrect("Són circumstancies d'un altre caire.");

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
Languagetool-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to