summaryrefslogtreecommitdiff
path: root/src/ui/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/android')
-rw-r--r--src/ui/android/AndroidManifest.xml2
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/Translator.java32
2 files changed, 11 insertions, 23 deletions
diff --git a/src/ui/android/AndroidManifest.xml b/src/ui/android/AndroidManifest.xml
index 78cd2d9ea..ecf8ba8c0 100644
--- a/src/ui/android/AndroidManifest.xml
+++ b/src/ui/android/AndroidManifest.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.grammaticalframework.ui.android"
- android:versionCode="5"
+ android:versionCode="6"
android:versionName="1.1"
android:installLocation="auto" >
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
index fe318b49a..46001675b 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
@@ -6,24 +6,9 @@ import android.util.Log;
import android.util.Pair;
import android.view.inputmethod.CompletionInfo;
-import org.grammaticalframework.pgf.Concr;
-import org.grammaticalframework.pgf.Expr;
-import org.grammaticalframework.pgf.ExprProb;
-import org.grammaticalframework.pgf.FullFormEntry;
-import org.grammaticalframework.pgf.MorphoAnalysis;
-import org.grammaticalframework.pgf.NercLiteralCallback;
-import org.grammaticalframework.pgf.UnknownLiteralCallback;
-import org.grammaticalframework.pgf.PGF;
-import org.grammaticalframework.pgf.ParseError;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.PriorityQueue;
+import org.grammaticalframework.pgf.*;
+import java.io.*;
+import java.util.*;
public class Translator {
@@ -256,7 +241,8 @@ public class Translator {
String lowerinput = input.toLowerCase() ; // also consider lower-cased versions of the word
try {
- Expr expr = sourceLang.parseBest("Chunk", input) ; // try parse as chunk
+ Iterator<ExprProb> iter = sourceLang.parse("Chunk", input).iterator(); // try parse as chunk
+ Expr expr = iter.next().getExpr();
output = targetLang.linearize(expr);
return output ;
} catch (ParseError e) { // if this fails
@@ -301,8 +287,12 @@ public class Translator {
Concr sourceLang = getSourceConcr();
Concr targetLang = getTargetConcr();
+ Map<String,LiteralCallback> callbacks = new HashMap<String,LiteralCallback>();
+ callbacks.put("PN", new NercLiteralCallback(mGrammarLoader.getGrammar(), sourceLang));
+ callbacks.put("Symb", new UnknownLiteralCallback(sourceLang));
+
int count = NUM_ALT_TRANSLATIONS;
- for (ExprProb ep : sourceLang.parse(getGrammar().getStartCat(), input)) {
+ for (ExprProb ep : sourceLang.parseWithHeuristics(getGrammar().getStartCat(), input, -1, callbacks)) {
if (count-- <= 0)
break;
exprs.add(ep);
@@ -487,8 +477,6 @@ public class Translator {
long t1 = System.currentTimeMillis();
mConcr = mGrammarLoader.getGrammar().getLanguages().get(mLanguage.getConcrete());
mConcr.load(in);
- mConcr.addLiteral("PN", new NercLiteralCallback(mGrammarLoader.getGrammar(), mConcr));
- mConcr.addLiteral("Symb", new UnknownLiteralCallback(mConcr));
long t2 = System.currentTimeMillis();
Log.d(TAG, name + " loaded ("+(t2-t1)+" ms)");
} catch (FileNotFoundException e) {