Основы построения и функционирования интеллектуальных информационных систем. Былкин В.Д - 197 стр.

UptoLike

197
Продолжение прил.
line;Iine_string;
done: boolean;
BEGIN
new(new_rule);
IF (top_rule<>NIL) THEN
BEGIN
curr_rule: =top_rule;
WHILE (cur_rule
^
.next<>NIL) DO curr_rule:= curr _ rule ^. next ;
curr_rule^.next:=new_rule
END
ELSE top_rule:=new_rule;
WITH new_rule^ DO
BEGIN
name:=rule_name;
next:=NIL;
prem:=NIL;
con:=NIL
END;
p_read(line):
done:=FALSE;
WHILE ((NOT done) AND (NOT Eof(rules))) DO BEGIN
new_rule^.prem:=add_prem(new_rule^.prem,line); p_read(line);
IF (pos('то',line)>0) AND (length(line)=2) THEN done:=TRUE
END;
p_read(Iine);
done:=FALSE;
REPEAT
IF (Eof(rules)) THEN done:=TRUE;
new_rule^. con :=add_con(new_rule^. con, line);
IF line[length(line)]= '.' THEN done:=TRUE
ELSE p_read(line)
UNTIL(done);
p_rule(new_rule);
END;
                                                                   Продолжение   прил.
line;Iine_string;
done: boolean;
BEGIN
new(new_rule);
 IF (top_rule<>NIL) THEN
BEGIN
           curr_rule: =top_rule;
WHILE (cur_rule^.next<>NIL) DO curr_rule:= curr _ rule ^. next ;
       curr_rule^.next:=new_rule
END
       ELSE top_rule:=new_rule;
WITH new_rule^ DO
      BEGIN
name:=rule_name;
next:=NIL;
 prem:=NIL;
 con:=NIL
 END;
 p_read(line):
done:=FALSE;
WHILE ((NOT done) AND (NOT Eof(rules))) DO BEGIN
 new_rule^.prem:=add_prem(new_rule^.prem,line); p_read(line);
IF (pos('то',line)>0) AND (length(line)=2) THEN done:=TRUE
 END;
 p_read(Iine);
 done:=FALSE;
 REPEAT
IF (Eof(rules)) THEN done:=TRUE;
 new_rule^. con :=add_con(new_rule^. con, line);
 IF line[length(line)]= '.' THEN done:=TRUE
 ELSE p_read(line)
UNTIL(done);
 p_rule(new_rule);
 END;


                                                   197