diff options
| author | Krasimir Angelov <kr.angelov@gmail.com> | 2017-08-30 08:33:16 +0200 |
|---|---|---|
| committer | Krasimir Angelov <kr.angelov@gmail.com> | 2017-08-30 08:33:16 +0200 |
| commit | bb5b5ca73b1ced85fff489cc1f6ed851c7367cd9 (patch) | |
| tree | 2fd423d9bad1f00c2070c857a44a99b9c5c89c2c | |
| parent | 890e03527b353a48f4e009e8c2be8893c619935a (diff) | |
added graphvizAbstractTree and graphvizParseTree in Java
| -rw-r--r-- | doc/runtime-api.html | 4 | ||||
| -rw-r--r-- | src/runtime/java/jpgf.c | 38 |
2 files changed, 40 insertions, 2 deletions
diff --git a/doc/runtime-api.html b/doc/runtime-api.html index 727adf31c..b0fc24b91 100644 --- a/doc/runtime-api.html +++ b/doc/runtime-api.html @@ -1081,7 +1081,7 @@ n0 -- n3 [style = "solid"] } </pre> <pre class="java"> -System.out.println(gr.graphvizAbstractTree(e)); //// TODO +System.out.println(gr.graphvizAbstractTree(e)); graph { n0[label = "AdjCN", style = "solid", shape = "plaintext"] n1[label = "PositA", style = "solid", shape = "plaintext"] @@ -1184,7 +1184,7 @@ graph { } </pre> <pre class="java"> -System.out.println(eng.graphvizParseTree(e)); //// TODO +System.out.println(eng.graphvizParseTree(e)); graph { node[shape=plaintext] diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c index 6fdb1047e..2eb151836 100644 --- a/src/runtime/java/jpgf.c +++ b/src/runtime/java/jpgf.c @@ -371,6 +371,25 @@ Java_org_grammaticalframework_pgf_PGF_getFunctionsByCat(JNIEnv* env, jobject sel return functions; } +JNIEXPORT jstring JNICALL +Java_org_grammaticalframework_pgf_PGF_graphvizAbstractTree(JNIEnv* env, jobject self, jobject jexpr) +{ + GuPool* tmp_pool = gu_local_pool(); + + GuExn* err = gu_exn(tmp_pool); + GuStringBuf* sbuf = gu_new_string_buf(tmp_pool); + GuOut* out = gu_string_buf_out(sbuf); + + pgf_graphviz_abstract_tree(get_ref(env,self), + gu_variant_from_ptr(l2p(get_ref(env,jexpr))), + out, err); + + jstring jstr = gu2j_string_buf(env, sbuf); + + gu_pool_free(tmp_pool); + return jstr; +} + JNIEXPORT jstring JNICALL Java_org_grammaticalframework_pgf_Concr_getName(JNIEnv* env, jobject self) { @@ -1198,6 +1217,25 @@ Java_org_grammaticalframework_pgf_Concr_getPrintName(JNIEnv* env, jobject self, return jname; } +JNIEXPORT jstring JNICALL +Java_org_grammaticalframework_pgf_Concr_graphvizParseTree(JNIEnv* env, jobject self, jobject jexpr) +{ + GuPool* tmp_pool = gu_local_pool(); + + GuExn* err = gu_exn(tmp_pool); + GuStringBuf* sbuf = gu_new_string_buf(tmp_pool); + GuOut* out = gu_string_buf_out(sbuf); + + pgf_graphviz_parse_tree(get_ref(env,self), + gu_variant_from_ptr(l2p(get_ref(env,jexpr))), + out, err); + + jstring jstr = gu2j_string_buf(env, sbuf); + + gu_pool_free(tmp_pool); + return jstr; +} + JNIEXPORT jlong JNICALL Java_org_grammaticalframework_pgf_Pool_alloc(JNIEnv* env, jclass clazz) { |
