summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/pgf.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-10-09 12:08:51 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-10-09 12:08:51 +0000
commit8cf03bc5b6895568eb08be1415985a64793bb81c (patch)
tree814e95e1b0422362066fef389e8b03741e8478ad /src/runtime/c/pgf/pgf.h
parent20e4970ec19949da10b86facd3c6a5a4abb03acb (diff)
a major redesign in the C runtime. The parser and the linearizer now fully support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode
Diffstat (limited to 'src/runtime/c/pgf/pgf.h')
-rw-r--r--src/runtime/c/pgf/pgf.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/runtime/c/pgf/pgf.h b/src/runtime/c/pgf/pgf.h
index 9c95f6f90..b586eb7b0 100644
--- a/src/runtime/c/pgf/pgf.h
+++ b/src/runtime/c/pgf/pgf.h
@@ -37,6 +37,7 @@ extern GU_DECLARE_TYPE(PgfCId, typedef);
extern GU_DECLARE_TYPE(PgfExn, abstract);
+extern GU_DECLARE_TYPE(PgfParseError, abstract);
/// @name PGF Grammar objects
/// @{
@@ -50,7 +51,6 @@ typedef struct PgfConcr PgfConcr;
*/
#include <pgf/expr.h>
-#include <pgf/lexer.h>
#include <pgf/graphviz.h>
/// An enumeration of #PgfExpr elements.
@@ -120,8 +120,16 @@ pgf_print_name(PgfConcr*, PgfCId id);
void
pgf_linearize(PgfConcr* concr, PgfExpr expr, GuOut* out, GuExn* err);
+bool
+pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat,
+ double *precision, double *recall, double *exact);
+
+PgfExprEnum*
+pgf_generate_all(PgfPGF* pgf, PgfCId cat, GuPool* pool);
+
PgfExprEnum*
-pgf_parse(PgfConcr* concr, PgfCId cat, PgfLexer *lexer,
+pgf_parse(PgfConcr* concr, PgfCId cat, GuString sentence,
+ GuExn* err,
GuPool* pool, GuPool* out_pool);
typedef struct PgfMorphoCallback PgfMorphoCallback;
@@ -132,10 +140,10 @@ struct PgfMorphoCallback {
};
void
-pgf_lookup_morpho(PgfConcr *concr, PgfLexer *lexer,
+pgf_lookup_morpho(PgfConcr *concr, GuString sentence,
PgfMorphoCallback* callback, GuExn* err);
-typedef GuMapKeyValue PgfFullFormEntry;
+typedef struct PgfFullFormEntry PgfFullFormEntry;
GuEnum*
pgf_fullform_lexicon(PgfConcr *concr, GuPool* pool);
@@ -148,20 +156,14 @@ pgf_fullform_get_analyses(PgfFullFormEntry* entry,
PgfMorphoCallback* callback, GuExn* err);
PgfExprEnum*
-pgf_parse_with_heuristics(PgfConcr* concr, PgfCId cat, PgfLexer *lexer,
- double heuristics,
+pgf_parse_with_heuristics(PgfConcr* concr, PgfCId cat,
+ GuString sentence, double heuristics,
+ GuExn* err,
GuPool* pool, GuPool* out_pool);
GuEnum*
-pgf_complete(PgfConcr* concr, PgfCId cat, PgfLexer *lexer,
- GuString prefix, GuPool* pool);
-
-bool
-pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat,
- double *precision, double *recall, double *exact);
-
-PgfExprEnum*
-pgf_generate_all(PgfPGF* pgf, PgfCId cat, GuPool* pool);
+pgf_complete(PgfConcr* concr, PgfCId cat, GuString string,
+ GuString prefix, GuExn* err, GuPool* pool);
/// @}