loading and unloading of languages in the C runtime and in the Python bindings

This commit is contained in:
kr.angelov
2013-12-10 15:00:52 +00:00
parent 8121124d72
commit 0ece8f19ab
11 changed files with 303 additions and 68 deletions

View File

@@ -171,8 +171,15 @@ pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat,
{
GuPool* pool = gu_new_pool();
GuExn* err = gu_new_exn(NULL, gu_kind(type), pool);
GuEnum* en_lins1 =
pgf_lzr_concretize(concr, expr, pool);
pgf_lzr_concretize(concr, expr, err, pool);
if (!gu_ok(err)) {
gu_pool_free(pool);
return false;
}
PgfCncTree ctree1 = gu_next(en_lins1, PgfCncTree, pool);
if (gu_variant_is_null(ctree1)) {
gu_pool_free(pool);
@@ -213,7 +220,7 @@ pgf_parseval(PgfConcr* concr, PgfExpr expr, PgfCId cat,
}
GuEnum* en_lins2 =
pgf_lzr_concretize(concr, ep->expr, pool);
pgf_lzr_concretize(concr, ep->expr, err, pool);
PgfCncTree ctree2 = gu_next(en_lins2, PgfCncTree, pool);
if (gu_variant_is_null(ctree2)) {
gu_pool_free(pool);