void ExampleSetFree(ExampleSet_p junk) { PStack_p stack; NumTree_p handle; stack = NumTreeTraverseInit(junk->ident_index); while((handle = NumTreeTraverseNext(stack))) { ExampleRepFree(handle->val1.p_val); } PStackFree(stack); NumTreeFree(junk->ident_index); StrTreeFree(junk->name_index); ExampleSetCellFree(junk); }
void VarBankFree(VarBank_p junk) { int i; assert(junk); StrTreeFree(junk->ext_index); for(i=0; i<junk->f_code_index->size; i++) { if(PDArrayElementP(junk->f_code_index, i)) { TermTopFree(PDArrayElementP(junk->f_code_index, i)); } } PDArrayFree(junk->f_code_index); VarBankCellFree(junk); }
void FileVarsFree(FileVars_p handle) { PStack_p stack; StrTree_p cell; char* name; while(!PStackEmpty(handle->names)) { name = PStackPopP(handle->names); FREE(name); } PStackFree(handle->names); stack = StrTreeTraverseInit(handle->vars); while((cell = StrTreeTraverseNext(stack))) { FREE(cell->val1.p_val); } StrTreeFree(handle->vars); FileVarsCellFree(handle); }
void VarBankClearExtNamesNoReset(VarBank_p vars) { StrTreeFree(vars->ext_index); vars->ext_index = NULL; }