Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
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;
}