summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-04-08 13:54:49 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-04-08 13:54:49 +0000
commita90756aeda2a4c5ad33a8ca01e5b9ca5cd15f85f (patch)
treea86ddb919dceeb8138a4a2d823542a41a4a550c2 /src
parentf99d3033aa02ed2155e93d039e3fc826efd35bb1 (diff)
added preliminary API for custom literals from Java. Not functional yet
Diffstat (limited to 'src')
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/Concr.java2
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/ExprBuilder.java16
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java5
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java7
4 files changed, 30 insertions, 0 deletions
diff --git a/src/runtime/java/org/grammaticalframework/pgf/Concr.java b/src/runtime/java/org/grammaticalframework/pgf/Concr.java
index f7a026681..9bc73ea5a 100644
--- a/src/runtime/java/org/grammaticalframework/pgf/Concr.java
+++ b/src/runtime/java/org/grammaticalframework/pgf/Concr.java
@@ -38,6 +38,8 @@ public class Concr {
public native void unload();
+ public native void addLiteral(String cat, LiteralCallback callback);
+
//////////////////////////////////////////////////////////////////
// private stuff
diff --git a/src/runtime/java/org/grammaticalframework/pgf/ExprBuilder.java b/src/runtime/java/org/grammaticalframework/pgf/ExprBuilder.java
new file mode 100644
index 000000000..a34a6c19d
--- /dev/null
+++ b/src/runtime/java/org/grammaticalframework/pgf/ExprBuilder.java
@@ -0,0 +1,16 @@
+package org.grammaticalframework.pgf;
+
+public class ExprBuilder {
+ public ExprBuilder() {
+
+ }
+
+ ExprBuilder(long poolRef) {
+ }
+
+ public native Expr mkApp(String fun, Expr... args);
+
+ public native Expr mkLiteral(String s);
+ public native Expr mkLiteral(int n);
+ public native Expr mkLiteral(double d);
+}
diff --git a/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java
new file mode 100644
index 000000000..4292a4116
--- /dev/null
+++ b/src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java
@@ -0,0 +1,5 @@
+package org.grammaticalframework.pgf;
+
+public interface LiteralCallback {
+ public int match(Concr concr, int lin_idx, ExprBuilder builder, String sentence, int start_offset);
+}
diff --git a/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java
new file mode 100644
index 000000000..ad1036c56
--- /dev/null
+++ b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java
@@ -0,0 +1,7 @@
+package org.grammaticalframework.pgf;
+
+public class NercLiteralCallback implements LiteralCallback {
+ public int match(Concr concr, int lin_idx, ExprBuilder builder, String sentence, int start_offset) {
+ return start_offset;
+ }
+}