intercepter la trace en prolog

intercepter la trace en prolog - Divers - Programmation

Marsh Posté le 04-04-2006 à 15:34:07    

Bonjour,bonjour,  
J’utilise prolog (swi prolog) pour construire des grammaires en français. Quand il y a un échec d’unification dans mes règles, prolog me répond  « no », et la seule fonction que je suis arrivé a faire marcher c’est le « trace ». Ce que je voudrais c’est arriver a visualiser la trace
totale, savoir par ou il passe, et quel est le point précis d’échec ,quel est son contexte.
Je pensais a la fonction trace-interception ou  :??:  …, mais j’arrive pas a m’en servir ?
Y’a t il des pro du prolog quelque part ???
Pourriez vous m’aider ?  :ange:  
merci

Reply

Marsh Posté le 04-04-2006 à 15:34:07   

Reply

Marsh Posté le 06-04-2006 à 22:02:28    

Tu as essayé le debuggueur graphic. Il faut insérer des break dans le code et le debuggueur se met automatiquement en action.
C'est dans la fenêtre d'édition du code tu fais Prolog/Break at.

Reply

Marsh Posté le 07-04-2006 à 18:21:49    

je vais essayer ca...
en fait ce que je veux, c'est que prolog "apprenne". quand je lui demande si une pharse X lui appartient et qu'il me repond non, j'ai besoin de savoir où l'unification a echouée, afin d'ajouter directement la regle qui manque... si par miracle quelqu'un avait une idée, je suis preneuse!
merci pour ta reponse!

Reply

Marsh Posté le 07-04-2006 à 19:28:04    

Essaye de déclarer ton prédicat en dynamic et utilise assert pour rajouter des clauses.

Reply

Marsh Posté le 09-04-2006 à 18:18:58    

ca c'est bon. quand je marque assert, ca me l'ajoute. mais comment l'enregistrer? (en gros, comment on sesert de record?????)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed