From b0a74ddc59ef008f855784ca78dddd0cc31bd79d Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Wed, 27 Nov 2013 12:35:11 +0000 Subject: added API in the C runtime and the Java binding for checking whether a given function is linearizable in a given language. This is used in the Android UI for better vizualizations --- .../org/grammaticalframework/ui/android/LexicalEntryActivity.java | 3 +-- .../src/org/grammaticalframework/ui/android/Translator.java | 8 ++++++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src/ui') diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java index 5267cfde0..8fa41dfd0 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java @@ -211,8 +211,7 @@ public class LexicalEntryActivity extends ListActivity { TextView descView = (TextView) convertView.findViewById(R.id.lexical_desc); - Expr e = Expr.readExpr(lemma); - String phrase = mTranslator.generateTranslationEntry(e); + String phrase = mTranslator.generateTranslationEntry(lemma); descView.setText(phrase); convertView.setOnClickListener(new OnClickListener() { 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 df042d1f1..60221d9b3 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -131,10 +131,14 @@ public class Translator { } } - public String generateTranslationEntry(Expr e) { + public String generateTranslationEntry(String lemma) { + Expr e = Expr.readExpr(lemma); Concr sourceLang = getConcr(getSourceLanguage().getConcrete()); Concr targetLang = getConcr(getTargetLanguage().getConcrete()); - return sourceLang.linearize(e) + " - " + targetLang.linearize(e); + if (targetLang.hasLinearization(lemma)) + return sourceLang.linearize(e) + " - " + targetLang.linearize(e); + else + return sourceLang.linearize(e); } public Map tabularLinearize(Expr e) { -- cgit v1.2.3