mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-06 17:52:51 -06:00
further extend the API of the C runtime
This commit is contained in:
@@ -1650,10 +1650,10 @@ pgf_print_hypo(PgfHypo *hypo, PgfPrintContext* ctxt, int prec,
|
||||
} else {
|
||||
pgf_print_type(hypo->type, ctxt, prec, out, err);
|
||||
}
|
||||
|
||||
|
||||
gu_pool_free(tmp_pool);
|
||||
}
|
||||
|
||||
|
||||
PgfPrintContext* new_ctxt = malloc(sizeof(PgfPrintContext));
|
||||
new_ctxt->name = hypo->cid;
|
||||
new_ctxt->next = ctxt;
|
||||
@@ -1668,7 +1668,7 @@ pgf_print_type(PgfType *type, PgfPrintContext* ctxt, int prec,
|
||||
|
||||
if (n_hypos > 0) {
|
||||
if (prec > 0) gu_putc('(', out, err);
|
||||
|
||||
|
||||
PgfPrintContext* new_ctxt = ctxt;
|
||||
for (size_t i = 0; i < n_hypos; i++) {
|
||||
PgfHypo *hypo = gu_seq_index(type->hypos, PgfHypo, i);
|
||||
@@ -1707,6 +1707,22 @@ pgf_print_type(PgfType *type, PgfPrintContext* ctxt, int prec,
|
||||
}
|
||||
}
|
||||
|
||||
PGF_API void
|
||||
pgf_print_context(PgfHypos *hypos, PgfPrintContext* ctxt,
|
||||
GuOut *out, GuExn *err)
|
||||
{
|
||||
PgfPrintContext* new_ctxt = ctxt;
|
||||
|
||||
size_t n_hypos = gu_seq_length(hypos);
|
||||
for (size_t i = 0; i < n_hypos; i++) {
|
||||
if (i > 0)
|
||||
gu_putc(' ', out, err);
|
||||
|
||||
PgfHypo *hypo = gu_seq_index(hypos, PgfHypo, i);
|
||||
new_ctxt = pgf_print_hypo(hypo, new_ctxt, 4, out, err);
|
||||
}
|
||||
}
|
||||
|
||||
PGF_API void
|
||||
pgf_print_expr_tuple(size_t n_exprs, PgfExpr exprs[], PgfPrintContext* ctxt,
|
||||
GuOut* out, GuExn* err)
|
||||
|
||||
Reference in New Issue
Block a user