From a90756aeda2a4c5ad33a8ca01e5b9ca5cd15f85f Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 8 Apr 2014 13:54:49 +0000 Subject: [PATCH] added preliminary API for custom literals from Java. Not functional yet --- .../java/org/grammaticalframework/pgf/Concr.java | 2 ++ .../grammaticalframework/pgf/ExprBuilder.java | 16 ++++++++++++++++ .../pgf/LiteralCallback.java | 5 +++++ .../pgf/NercLiteralCallback.java | 7 +++++++ 4 files changed, 30 insertions(+) create mode 100644 src/runtime/java/org/grammaticalframework/pgf/ExprBuilder.java create mode 100644 src/runtime/java/org/grammaticalframework/pgf/LiteralCallback.java create mode 100644 src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java 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; + } +}