diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-04-25 08:53:18 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-04-25 08:53:18 +0000 |
| commit | d278965095723460985989f183b8fab4a7fde779 (patch) | |
| tree | 4a69c2b6f7fa02b20ef00283004a836026e29f0d /src/runtime/c | |
| parent | 3a0da12e3dae3180eadd60fb1b21410f1b92a859 (diff) | |
an initial Java/C API for predicting literals. Still not utilized
Diffstat (limited to 'src/runtime/c')
| -rw-r--r-- | src/runtime/c/pgf/literals.c | 25 | ||||
| -rw-r--r-- | src/runtime/c/pgf/pgf.h | 4 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/runtime/c/pgf/literals.c b/src/runtime/c/pgf/literals.c index 6b47aaf31..cf2003385 100644 --- a/src/runtime/c/pgf/literals.c +++ b/src/runtime/c/pgf/literals.c @@ -48,8 +48,25 @@ pgf_match_string_lit(PgfLiteralCallback* self, } } +static void +pgf_predict_empty_next(GuEnum* self, void* to, GuPool* pool) +{ + *((PgfTokenProb**) to) = NULL; +} + +static GuEnum* +pgf_predict_empty(PgfLiteralCallback* self, + size_t lin_idx, + GuString prefix, + GuPool *out_pool) +{ + GuEnum* en = gu_new(GuEnum, out_pool); + en->next = pgf_predict_empty_next; + return en; +} + static PgfLiteralCallback pgf_string_literal_callback = - { pgf_match_string_lit } ; + { pgf_match_string_lit, pgf_predict_empty } ; @@ -101,7 +118,7 @@ pgf_match_int_lit(PgfLiteralCallback* self, } static PgfLiteralCallback pgf_int_literal_callback = - { pgf_match_int_lit } ; + { pgf_match_int_lit, pgf_predict_empty } ; @@ -153,7 +170,7 @@ pgf_match_float_lit(PgfLiteralCallback* self, } static PgfLiteralCallback pgf_float_literal_callback = - { pgf_match_float_lit } ; + { pgf_match_float_lit, pgf_predict_empty } ; @@ -231,7 +248,7 @@ pgf_match_name_lit(PgfLiteralCallback* self, } PgfLiteralCallback pgf_nerc_literal_callback = - { pgf_match_name_lit } ; + { pgf_match_name_lit, pgf_predict_empty } ; PgfCallbacksMap* diff --git a/src/runtime/c/pgf/pgf.h b/src/runtime/c/pgf/pgf.h index d8c364b56..d6de05e90 100644 --- a/src/runtime/c/pgf/pgf.h +++ b/src/runtime/c/pgf/pgf.h @@ -161,6 +161,10 @@ struct PgfLiteralCallback { size_t lin_idx, GuString sentence, size_t* poffset, GuPool *out_pool); + GuEnum* (*predict)(PgfLiteralCallback* self, + size_t lin_idx, + GuString prefix, + GuPool *out_pool); }; void |
