int grecs_tree_join(struct grecs_node *dst, struct grecs_node *src) { struct grecs_node *p; if (dst->type != grecs_node_root || src->type != grecs_node_root) return 1; grecs_node_bind(dst, src->down, 1); for (p = src->down; p; p = p->next) p->up = dst; if (!src->v.texttab) { dst->v.texttab = src->v.texttab; } else { grecs_tree_recurse(src->down, reset_locus, dst->v.texttab); grecs_symtab_free(src->v.texttab); } src->v.texttab = NULL; src->down = NULL; return 0; }
void grecs_destroy_text() { grecs_symtab_free(text_table); }