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);