summaryrefslogtreecommitdiff
path: root/src/runtime/java
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-11-27 12:35:11 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-11-27 12:35:11 +0000
commitb0a74ddc59ef008f855784ca78dddd0cc31bd79d (patch)
treee216c7f5ac51c997f2c484950eff46054524de74 /src/runtime/java
parenteeec31cbabf77515a57d376071095b983f8be291 (diff)
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
Diffstat (limited to 'src/runtime/java')
-rw-r--r--src/runtime/java/jpgf.c11
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/Concr.java2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c
index d70301a62..8cfe2c705 100644
--- a/src/runtime/java/jpgf.c
+++ b/src/runtime/java/jpgf.c
@@ -472,6 +472,17 @@ Java_org_grammaticalframework_pgf_Concr_lookupMorpho(JNIEnv* env, jobject self,
return analyses;
}
+JNIEXPORT jboolean JNICALL
+Java_org_grammaticalframework_pgf_Concr_hasLinearization(JNIEnv* env, jobject self, jstring jid)
+{
+ PgfConcr* concr = get_ref(env, self);
+ GuPool* tmp_pool = gu_new_pool();
+ PgfCId id = j2gu_string(env, jid, tmp_pool);
+ bool res = pgf_has_linearization(concr, id);
+ gu_pool_free(tmp_pool);
+ return res;
+}
+
JNIEXPORT void JNICALL
Java_org_grammaticalframework_pgf_Pool_free(JNIEnv* env, jobject self, jlong ref)
{
diff --git a/src/runtime/java/org/grammaticalframework/pgf/Concr.java b/src/runtime/java/org/grammaticalframework/pgf/Concr.java
index 81f696aaf..779d461cc 100644
--- a/src/runtime/java/org/grammaticalframework/pgf/Concr.java
+++ b/src/runtime/java/org/grammaticalframework/pgf/Concr.java
@@ -25,6 +25,8 @@ public class Concr {
public native List<MorphoAnalysis> lookupMorpho(String sentence);
+ public native boolean hasLinearization(String id);
+
//////////////////////////////////////////////////////////////////
// private stuff