void post_process_close_sentence(Postprocessor *pp) { if (pp==NULL) return; pp_linkset_clear(pp->set_of_links_of_sentence); pp_linkset_clear(pp->set_of_links_in_an_active_rule); string_set_delete(pp->sentence_link_name_set); pp->sentence_link_name_set = string_set_create(); pp->n_local_rules_firing = 0; pp->n_global_rules_firing = 0; pp->relevant_contains_one_rules[0] = -1; pp->relevant_contains_none_rules[0] = -1; free_pp_node(pp); }
void post_process_close(Postprocessor *pp) { /* frees up memory associated with pp, previously allocated by open */ if (pp==NULL) return; string_set_delete(pp->sentence_link_name_set); pp_linkset_close(pp->set_of_links_of_sentence); pp_linkset_close(pp->set_of_links_in_an_active_rule); xfree(pp->relevant_contains_one_rules, (1+pp->knowledge->n_contains_one_rules) *(sizeof pp->relevant_contains_one_rules[0])); xfree(pp->relevant_contains_none_rules, (1+pp->knowledge->n_contains_none_rules) *(sizeof pp->relevant_contains_none_rules[0])); pp_knowledge_close(pp->knowledge); free_pp_node(pp); xfree(pp, sizeof(Postprocessor)); }
void post_process_free(Postprocessor *pp) { /* frees up memory associated with pp, previously allocated by open */ if (pp == NULL) return; string_set_delete(pp->string_set); pp_linkset_close(pp->set_of_links_of_sentence); pp_linkset_close(pp->set_of_links_in_an_active_rule); free(pp->relevant_contains_one_rules); free(pp->relevant_contains_none_rules); pp->knowledge = NULL; free_pp_node(pp); free(pp->visited); post_process_free_data(&pp->pp_data); free(pp->pp_data.domain_array); free(pp->pp_data.word_links); free(pp); }
static void reset_pp_node(Postprocessor *pp) { free_pp_node(pp); alloc_pp_node(pp); }