Erwerb funktionaler, räumlicher und kausaler Beziehungen von ...

ai.cs.uni.dortmund.de

Erwerb funktionaler, räumlicher und kausaler Beziehungen von ...

Anhang 88

Fall, wird add_fact aufgerufen, und das Element hinzugefügt */

factset *add_fact_to_set(factset * set, char * str)

{

fact_elem *h;

h = set->first;

while (h != NULL)

{

if ((strcmp(h->str,str)) == 0)

{

return set;

}

h = h->next;

}

add_fact(set,str);

return set;

}

/* make_pred_def erzeugt aus einer Zeile der Konfigurationsdatei die Einträge

für pred_def_list. Dabei wird auf eventuelle Fehler geprüft, wie

Mehrfachdefinition von Eingabedatei, Ausgabedatei oder Argumentdefinition. */

void make_pred_def (pred_def_list *definition, char * buffer)

{

string type_of_line;

string h;

get_arg_n(type_of_line,buffer,' ',1,sizeof(string));

if (strcmp(type_of_line,"REM") == 0)

return;

if (strcmp(type_of_line,"INPUT") == 0)

{

if (strcmp(definition->input,"") == 0)

{

get_arg_n (h,buffer,' ',2,sizeof(string));

delchar(definition->input,h,' ');

}

else

exit_on_error("More than one inputfile");

return;

}

if (strcmp(type_of_line,"OUTPUT") == 0)

{

if (strcmp(definition->output,"") == 0)

{

get_arg_n (h,buffer,' ',2,sizeof(string));

delchar(definition->output,h,' ');

}

else

exit_on_error("More than one outputfile");

return;

}

if (strcmp(type_of_line,"ARGUMENT_DEFINITION") == 0)

{

if (definition->pred_arg_position == 0)

{

get_arg_n(h,buffer,' ',2,sizeof(string));

definition->pred_arg_position = string_to_number(h);

get_arg_n(h,buffer,' ',3,sizeof(string));

definition->pred_arg_start_position = string_to_number(h);

Weitere Magazine dieses Users
Ähnliche Magazine