Revision: 14852
          http://gate.svn.sourceforge.net/gate/?rev=14852&view=rev
Author:   markagreenwood
Date:     2011-12-23 08:23:49 +0000 (Fri, 23 Dec 2011)
Log Message:
-----------
fixed the lasix parsing problem by tweaking the jape, hopefully this won't have 
broken anything else -- should really look into why the parser is messing this 
up though

Modified Paths:
--------------
    gate/trunk/plugins/Tagger_Measurements/resources/jape/possibles.jape
    
gate/trunk/plugins/Tagger_Measurements/src/gate/creole/measurements/MeasurementsParser.java
    
gate/trunk/plugins/Tagger_Measurements/test/src/gate/creole/measurements/MeasurementsTest.java

Modified: gate/trunk/plugins/Tagger_Measurements/resources/jape/possibles.jape
===================================================================
--- gate/trunk/plugins/Tagger_Measurements/resources/jape/possibles.jape        
2011-12-23 07:29:29 UTC (rev 14851)
+++ gate/trunk/plugins/Tagger_Measurements/resources/jape/possibles.jape        
2011-12-23 08:23:49 UTC (rev 14852)
@@ -14,12 +14,14 @@
 
 //TODO deal with - in sup
 //TODO deal with the fact that per is usually category=IN
+//the . was added to fix the Lasix 20 mg p.o. parsing problem although
+//it would be nice to figure out why the parser isn't working properly
 Rule:possible1
 (
        ({Number}):number
        (({Token.category != "IN", Token.kind != "punctuation"}|
          {Token.string == "per"}|
-         {Token.kind == "punctuation", Token.string =~ "[|~^+/*]"})+):unit
+         {Token.kind == "punctuation", Token.string =~ "[.|~^+/*]"})+):unit 
 ):all
 -->
 {

Modified: 
gate/trunk/plugins/Tagger_Measurements/src/gate/creole/measurements/MeasurementsParser.java
===================================================================
--- 
gate/trunk/plugins/Tagger_Measurements/src/gate/creole/measurements/MeasurementsParser.java
 2011-12-23 07:29:29 UTC (rev 14851)
+++ 
gate/trunk/plugins/Tagger_Measurements/src/gate/creole/measurements/MeasurementsParser.java
 2011-12-23 08:23:49 UTC (rev 14852)
@@ -479,4 +479,10 @@
     if(u == null) return null;
     return u.name;
   }
+  
+  public static void main(String args[]) throws MalformedURLException, 
IOException {
+    MeasurementsParser parser = new MeasurementsParser((new 
File("plugins/Tagger_Measurements/resources/units.dat")).toURI().toURL(), (new 
File("plugins/Tagger_Measurements/resources/common_words.txt")).toURI().toURL());
+    Measurement m = parser.parse(20, "mg p");   
+    System.out.println(m.getParsedText());
+  }
 }

Modified: 
gate/trunk/plugins/Tagger_Measurements/test/src/gate/creole/measurements/MeasurementsTest.java
===================================================================
--- 
gate/trunk/plugins/Tagger_Measurements/test/src/gate/creole/measurements/MeasurementsTest.java
      2011-12-23 07:29:29 UTC (rev 14851)
+++ 
gate/trunk/plugins/Tagger_Measurements/test/src/gate/creole/measurements/MeasurementsTest.java
      2011-12-23 08:23:49 UTC (rev 14852)
@@ -67,5 +67,19 @@
     
     assertEquals(0.1524, m.getNormalizedValue());
     assertEquals("m", m.getNormalizedUnit());
-  }  
+  }
+  
+  public void testLasix() {
+    Measurement m = parser.parse(20d, "Lasix 20 mg p.o.", 9);
+    assertNotNull(m);
+    
+    assertEquals("mass", m.getDimension());
+    
+    assertEquals(20d, m.getValue());
+    assertEquals("mg", m.getUnit());
+    assertEquals("mg", m.getParsedText());
+        
+    assertEquals(2.0E-5, m.getNormalizedValue());
+    assertEquals("kg", m.getNormalizedUnit());    
+  }
 }

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


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to