static bool apply_relevant_rules(Postprocessor *pp, bool (applyfn)(PP_data *, Linkage, pp_rule *), Linkage sublinkage, pp_rule *rule_array, int *relevant_rules, const char **msg) { int i, idx; PP_data *pp_data = &pp->pp_data; /* If we didn't accumulate link names for this sentence, we need * to apply all rules. */ if (pp_linkset_population(pp->set_of_links_of_sentence) == 0) { return apply_rules(pp_data, applyfn, sublinkage, rule_array, msg); } /* We did, and we don't. */ for (i = 0; (idx = relevant_rules[i]) != -1; i++) { *msg = rule_array[idx].msg; if (!applyfn(pp_data, sublinkage, &(rule_array[idx]))) return false; } return true; }
static int apply_rules(Postprocessor *pp, int (applyfn) (Postprocessor *,Sublinkage *,pp_rule *), Sublinkage *sublinkage, pp_rule *rule_array, char **msg) { int i; for (i=0; (*msg=rule_array[i].msg)!=NULL; i++) if (!applyfn(pp, sublinkage, &(rule_array[i]))) return 0; return 1; }
static bool apply_rules(PP_data *pp_data, bool (applyfn) (PP_data *, Linkage, pp_rule *), Linkage sublinkage, pp_rule *rule_array, const char **msg) { int i; for (i = 0; (*msg = rule_array[i].msg) != NULL; i++) { if (!applyfn(pp_data, sublinkage, &(rule_array[i]))) { rule_array[i].use_count ++; return false; } } return true; }
static int apply_relevant_rules(Postprocessor *pp, int(applyfn)(Postprocessor *pp,Sublinkage*,pp_rule *rule), Sublinkage *sublinkage, pp_rule *rule_array, int *relevant_rules, char **msg) { int i, idx; /* if we didn't accumulate link names for this sentence, we need to apply all rules */ if (pp_linkset_population(pp->set_of_links_of_sentence)==0) { return apply_rules(pp, applyfn, sublinkage, rule_array, msg); } /* we did, and we don't */ for (i=0; (idx=relevant_rules[i])!=-1; i++) { *msg = rule_array[idx].msg; /* Adam had forgotten this -- DS 4/9/98 */ if (!applyfn(pp, sublinkage, &(rule_array[idx]))) return 0; } return 1; }