Re: PROGRAMMATION EN SWI PROLOG
le 03 Mar 2012 16:37
Rebonjour
oui vous avez raison il faut que je vous présente mon code comme ça vous pourriez m'aider à situer exactement l'erreur;donc mon programme est un petit dictionnaire qui traite le mot '' sens '' avec des exemples :
dic(lex(sens,1,n,1,u,
def([faculté,d,éprouver,le,monde,par,les,sensations]),
[ex([cette,personne,a,le,sixième,sens])])).
dic(lex(sens,1,n,2,u,
def([acception,signifié,sémantique,d,un,mot]),
[ex([cette,signification,est,le,sens,de,ce,mot,dans,ce,contexte]),
ex([cet,élève,est,un,géni,au,sens,propre,du,terme])])).
dic(lex(sens,1,n,3,u,
def([direction,orientation]),
[ex([le,vent,souffle,dans,le,sens,opposé,du,ballon])])).
dic(lex(sens,1,n,4,u,
def([opinion,avis,(,à,mon,sens)]),
[ex([ce,candidat,n,',est,pas,sincère,à,mon,sens])])).
*/ LES IMPRESSIONS */
printliste([]). /* c'est à ce niveau qu'il souligne l'erreur String too long (see style_check/1) */
printliste([T|Q]):- write(T),tab(1),printliste(Q).
printexliste([]).
printexliste([ex(Liste)|Tail]):- printliste(Liste),nl,printexliste(Tail).
printallexliste([]).
printallexliste([T|Q]):- printexliste(T),nl,printallexliste(Q).
printdef([]).
printdef(def(Liste)):- printliste(Liste).
printdefliste([]).
printdefliste([H|T]):- printdef(H),nl,printdefliste(T).
/* DEUXIEME PARTIE : LES SELECTEURS */
exemple(Mot,Hom_nb,Def_nb,Liste_ex):- dic(lex(Mot,Hom_nb,_,Def_nb,_,_,Liste_ex)),
printexliste(Liste_ex).
definition(Mot,Hom_nb,Def_nb,Definition):-
dic(lex(Mot,Hom_nb,_,Def_nb,_,Definition,_)),
printdef(Definition).
exple(Mot,Exliste):-
findall(Exemple,dic(lex(Mot,_,_,_,_,_,Exemple)),Exliste),
printallexliste(Exliste).
definitions(Mot,Defliste):-
findall(Definition_liste,dic(lex(Mot,_,_,_,_,Definition_liste,_)),Defliste),
printdefliste(Defliste).