LAD Project: the LADTREE Module
Summary: The LADTREE object serves the following purpose. It defines the
results of filling in slots in slads. As a result of filling in a sladslot,
the slad may grow extra (unknown) slots. The nature of the slots
which may appear are a function of previously defined slots in
the tree.
void fill_slot(ladtree *lt,slad *sl,char *sl,value *val);
Side-effects. Affects the slad, sl. Filling in a value, and
perhaps creating new uncommitted slots with new valdescs.
ladtree *mk_ladtree(int num_infeats,int num_outfeats);
slad *mk_root_slad(ladtree *lt);
Eventually, ladtrees will be readable from files and dynamically
updateable and great things like that. ladtrees will be interpreted
to decide what slots to create and what valdescs to give them.
To begin with though, ladtrees will actually probably be implemented
by a crappy little structure, and the slot-filling intelligence will
be inside C-code inside fill_slot. The module-user doesn't care,
of course.
void fprintf_ladtree(FILE *s,char *m1,ladtree *ld,char *m2);
void free_ladtree(ladtree *ld);