mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-05 09:12:51 -06:00
generate and store the ranges for all linearization rules
This commit is contained in:
@@ -487,8 +487,9 @@ void pgf_drop_lincat(PgfDB *db, PgfConcrRevision revision,
|
||||
#ifdef __cplusplus
|
||||
struct PgfLinBuilderIface {
|
||||
virtual void start_production(PgfExn *err)=0;
|
||||
virtual void add_argument(size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
virtual void set_result(size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
virtual void add_argument(size_t n_hypos, size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
virtual void set_result(size_t n_vars, size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
virtual void add_variable(size_t var, size_t range, PgfExn *err)=0;
|
||||
virtual void start_sequence(size_t n_syms, PgfExn *err)=0;
|
||||
virtual void add_symcat(size_t d, size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
virtual void add_symlit(size_t d, size_t i0, size_t n_terms, size_t *terms, PgfExn *err)=0;
|
||||
@@ -516,8 +517,9 @@ typedef struct PgfLinBuilderIface PgfLinBuilderIface;
|
||||
|
||||
typedef struct {
|
||||
void (*start_production)(PgfLinBuilderIface *this, PgfExn *err);
|
||||
void (*add_argument)(PgfLinBuilderIface *this, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
void (*set_result)(PgfLinBuilderIface *this, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
void (*add_argument)(PgfLinBuilderIface *this, size_t n_hypos, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
void (*set_result)(PgfLinBuilderIface *this, size_t n_vars, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
void (*add_variable)(PgfLinBuilderIface *this, size_t var, size_t range, PgfExn *err);
|
||||
void (*start_sequence)(PgfLinBuilderIface *this, size_t n_syms, PgfExn *err);
|
||||
void (*add_symcat)(PgfLinBuilderIface *this, size_t d, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
void (*add_symlit)(PgfLinBuilderIface *this, size_t d, size_t i0, size_t n_terms, size_t *terms, PgfExn *err);
|
||||
|
||||
Reference in New Issue
Block a user