1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| /* domains
exp=char*
predicates
test(string)
test1(string)
test2(string)
clauses
test(EXP):-write("donner l'expression algebrique que vous pouver test"),nl,readln(EXP)/*,EXP<><,EXP<>">",EXP<>"+",EXP<>"-",EXP<>"/",EXP<>"*",EXP<>"(",EXP<>")",EXP<>"[",EXP<>"]",EXP<>"%",write("expression valide"),nl*/.
test1(E):-test(E),E<>"<",E<>">",E<>"+",E<>"-",E<>"*",E<>"/",E<>"(",E<>")",E<>"[",E<>"]",str_len(E,NB),NB=1,write("exp valid").
test2(E):-test(E),str_len(E,NB),NB<>1,write("exp de len sup a 2").*/
domains
exp=char*
predicates
test(string)
test1(string)
test2(string,exp,exp)
ajout(char,exp,exp)
clauses
test(EXP):-write("donner expression"),nl,readln(EXP),nl.
test1(E):-test(E),E<>"-",E<>"+",E<>"*",E<>"/",str_len(E,NB),NB=1,write("exp valid").
ajout(X,[],[X]).
ajout(X,[Y|L1],[Y|L2]):-ajout(X,L1,L2).
test2("",L,L).
test2(E,L,RE):-test(E),str_len(E,NB),NB<>1,frontchar(E,A,R),ajout(A,L,RE),test2(R,L,RE).
/* test3(E):-test2(E,LP,RE). */ |
Partager