summaryrefslogtreecommitdiff
path: root/src/runtime/java/jpgf.c
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-11-27 22:16:05 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-11-27 22:16:05 +0000
commitf5ec987c5d1fe5b05a84d1f9b20bc70f26a385f0 (patch)
tree2a09acdb54119fdee5ac9403b01c723b500c4315 /src/runtime/java/jpgf.c
parenteea636966d2ff59fa4185fa6a25ef3707181522c (diff)
better dictionary visualization in the Android App
Diffstat (limited to 'src/runtime/java/jpgf.c')
-rw-r--r--src/runtime/java/jpgf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c
index 8cfe2c705..50574cf6e 100644
--- a/src/runtime/java/jpgf.c
+++ b/src/runtime/java/jpgf.c
@@ -212,6 +212,25 @@ Java_org_grammaticalframework_pgf_PGF_getStartCat(JNIEnv* env, jobject self)
return gu2j_string(env, pgf_start_cat(get_ref(env, self)));
}
+JNIEXPORT jobject JNICALL
+Java_org_grammaticalframework_pgf_PGF_getFunctionType(JNIEnv* env, jobject self, jstring jid)
+{
+ PgfPGF* pgf = get_ref(env, self);
+ GuPool* tmp_pool = gu_new_pool();
+ PgfCId id = j2gu_string(env, jid, tmp_pool);
+ PgfType* tp = pgf_function_type(pgf, id);
+ gu_pool_free(tmp_pool);
+
+ if (tp == NULL)
+ return NULL;
+
+ jclass type_class = (*env)->FindClass(env, "org/grammaticalframework/pgf/Type");
+ jmethodID constrId = (*env)->GetMethodID(env, type_class, "<init>", "(Lorg/grammaticalframework/pgf/PGF;J)V");
+ jobject jtype = (*env)->NewObject(env, type_class, constrId, self, p2l(tp));
+
+ return jtype;
+}
+
typedef struct {
GuMapItor fn;
JNIEnv *env;
@@ -535,6 +554,13 @@ Java_org_grammaticalframework_pgf_Expr_readExpr(JNIEnv* env, jclass clazz, jstri
return (*env)->NewObject(env, clazz, constrId, jpool, NULL, p2l(gu_variant_to_ptr(e)));
}
+JNIEXPORT jstring JNICALL
+Java_org_grammaticalframework_pgf_Type_getCategory(JNIEnv* env, jobject self)
+{
+ PgfType* tp = get_ref(env, self);
+ return gu2j_string(env, tp->cid);
+}
+
JNIEXPORT jobject JNICALL
Java_org_grammaticalframework_pgf_Generator_generateAll(JNIEnv* env, jclass clazz, jobject jpgf, jstring jstartCat)
{