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