refactoring

This commit is contained in:
Krasimir Angelov
2023-03-14 16:27:18 +01:00
parent af7b504e36
commit 87b5c0da6c
8 changed files with 179 additions and 244 deletions

View File

@@ -526,15 +526,14 @@ PgfExpr pgf_generate_random_from
#ifdef __cplusplus
struct PgfExprEnum {
virtual PgfExpr fetch(PgfDB *db, PgfUnmarshaller *u, prob_t *prob)=0;
virtual void free_refs(PgfUnmarshaller *u)=0;
virtual PgfExpr fetch(PgfDB *db, prob_t *prob)=0;
virtual ~PgfExprEnum() {};
};
#else
typedef struct PgfExprEnum PgfExprEnum;
typedef struct PgfExprEnumVtbl PgfExprEnumVtbl;
struct PgfExprEnumVtbl {
PgfExpr (*fetch)(PgfExprEnum *this, PgfDB *db, PgfUnmarshaller *u, prob_t *prob);
PgfExpr (*fetch)(PgfExprEnum *this, PgfDB *db, prob_t *prob);
};
struct PgfExprEnum {
PgfExprEnumVtbl *vtbl;
@@ -784,12 +783,12 @@ void pgf_bracketed_linearize_all(PgfDB *db, PgfConcrRevision revision,
PGF_API_DECL
PgfExprEnum *pgf_parse(PgfDB *db, PgfConcrRevision revision,
PgfType ty, PgfMarshaller *m,
PgfType ty, PgfMarshaller *m, PgfUnmarshaller *u,
PgfText *sentence,
PgfExn * err);
PGF_API_DECL
void pgf_free_expr_enum(PgfUnmarshaller *u, PgfExprEnum *en);
void pgf_free_expr_enum(PgfExprEnum *en);
PGF_API_DECL
PgfText *pgf_get_printname(PgfDB *db, PgfConcrRevision revision,