IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

Intercepter la trace


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Intercepter la trace
    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 où il passe, et quel est le point précis d’échec, quel est son contexte.
    Je pensais à la fonction trace-interception ou …, mais j’arrive pas à m’en servir ?
    Y’a t il des pro du prolog quelque part ???
    Pourriez vous m’aider ?
    merci

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Swi-prolog possède un excellent débogueur graphique.

    Dans la version Windows, tu cliques sur "Debug">"Graphical debugger" (tu peux aussi y accéder en tappant "guitracer.". Cela devrait marcher sous linux).

    Tu auras alors le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    % The graphical front-end will be used for subsequent tracing
    Il suffit alors de tapper:
    Enfin, tu tappes ta ligne de commande et le debugger graphique s'affiche avec toutes les infos dont tu as besoin (état de la pile, points de choix, états des variables...). Il est vraiment extrêmement bien fait.

    ***
    Sinon, une autre manière de tracer est de mettre des "write" un peu partout. Des fois, ça aide.

    ***
    Edit: Tout ce qui concerne Prolog m'intéresse au plus au point. Il faudra que tu me parles un peu de ton projet, par mp par exemple.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par pcaboche
    Edit: Tout ce qui concerne Prolog m'intéresse au plus au point. Il faudra que tu me parles un peu de ton projet, par mp par exemple.
    Ça intéresse tout le monde ici tout au moins une personne
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci, merci.
    ca m'aide bien en tout cas.
    mon projet consiste a faire une grammaire du francais, qui puisse evoluer, ou apprendre si tu veux. je lui decrit la construction des phrases qu'elle doit accepter, mais je veux pouvoir l'enrichir, lui ajouter de nouvelles structures syntaxique et semantique...je sais pas si je suis bien claire..????
    sinon, j'ai encore une petite question. quand j'ajoute de nouveaux elements a ma base de faits (ou de regles d'ailleur), comment je les records? de facon definitive? y'a pas moyen de passer outre l'attribution d'une clef?

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    @Trap D: mais non, je ne t'ai pas oublié! (loin de là, tu es la première personne à être avertie quand je publies un article sur Prolog). Cependant on ne peux pas toujours demander à quelqu'un de parler ouvertement de leurs projets sur un forum (à cause d'éventuels secrets industriels), donc c'est pour cela que je parlais de mp. Il ne faut pas s'énerver



    @crawek: tu as été très clair concernant la description de ton projet. L'usage de Prolog pour la reconnaissance du langage est un sujet très intéressant pour lequel je n'ai pas énormément de documentation. Ca m'interresse d'en savoir plus.

    Pour la mise-à-jour de la base de connaissance, j'ai plus de mal à te donner une réponse ferme, car ça dépend de ce que tu utilises (assert/retract? record? utilisation de mutables (en Sicstus)?)

    Quelques petites choses à connaître:
    - assert/retract
    - erase (pour supprimer une clause)
    - quand tu fais un assert, l'assertion est automatiquement défaite lors d'un retour arrière
    - et juste un point de détail sur les assert et les record: http://pcaboche.developpez.com/artic...ats_dynamiques
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci, pour le lien, a vrai dire, j'avais commencé par là
    j'utilise swi prolog. je ne peux pas expliquer trop en detail mon projet, peut etre en mp, car c'est mon boulot, je m'en voudrais de tout deballer sur un forum
    ma question etait peut etre pas assez clair.
    par exemple.
    ma grammaire me genere "le vent souffle". je veux ajouter "le vent siffle". je vais donc faire un assert pour que siffle fasse partie de mon lexique. mais comment faire pour enregistrer definitivement cet ajout? (c'est peut etre terriblement naif comme question, je debute...)
    et merci pour le debuuger, j'ai encore du mal a comprendre mes traces comme il faut, mais ca a l'air pas mal du tout!

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par crawek
    merci, pour le lien, a vrai dire, j'avais commencé par là
    Si seulement tous les forumeurs étaient comme toi!


    Citation Envoyé par crawek
    (c'est peut etre terriblement naif comme question, je debute...)
    Il n'y a pas de question idiote. Et surtout pas en Prolog!


    En fait, pour que la modification soit prise en compte définitivement, un assert suffit. Cependant je te conseillerais de faire beaucoup de tests unitaires pour vérifier le comportement de Prolog.




    Citation Envoyé par crawek
    je ne peux pas expliquer trop en detail mon projet, peut etre en mp, car c'est mon boulot, je m'en voudrais de tout deballer sur un forum
    @Trap D: Tiens! Qu'est-ce que je disais?

    Nous n'avons pas envie de faire de l'espionnage industriel, mais nous serions ravis d'avoir des articles sur la reconaissance du langage naturel en Prolog. Donc si le coeur t'en dis tu peux soumettre des articles (ou faire part aux rédacteurs de quelques liens intéressants sur le sujet)


    Citation Envoyé par crawek
    et merci pour le debuuger, j'ai encore du mal a comprendre mes traces comme il faut, mais ca a l'air pas mal du tout!
    Oui, il est vraiment bien fait! Comme tout débuggeur, on a un peu de mal à comprendre au début, mais ça vient vite.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    et d'ou vous viens cet interet pour prolog?

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Pour ma part, j'ai 20 ans de C derrière moi, et je trouve que Prolog ouvre des horizons invisibles en C.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  10. #10
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Moi, j'ai pas 20 ans de C à mon actif (sinon ça voudrait dire que j'ai commencé le C à 6 ans ) mais j'ai fait des études d'info et j'ai étudié Prolog durant les dernières années.

    Un jour, j'ai eu l'envie d'écrire un article sur Prolog afin d'aider tous ceux qui doivent développer dans ce langage. C'est alors que j'ai découvert qu'on pouvait faire des choses intéressantes en Prolog alors j'ai eu l'idée d'écrire d'autres articles. Dernièrement, je n'ai pas écrit grand chose (trop occupé) mais je vais m'y remettre prochainement...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    j'ai egalement eu quelques cours de prolog à la fac, mais ca tenait plus à l'initiation qu'a des cours.
    sinon, pour repondre à la question sur les gens qui s'interessent au langage naturel et qui utilisent prolog pour ca, il y a quelques labos comme
    IRISA (Rennes),
    IRIN (Nantes),
    LIFL (Lille),
    LORIA (Nancy)

    (le projet GRAPPA : Groupe de Recherche sur l'Apprentissage Automatique par exemple)

    peut etre que ca te donnera l'inspiration pour de futurs articles

  12. #12
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Citation Envoyé par crawek
    j'ai egalement eu quelques cours de prolog à la fac, mais ca tenait plus à l'initiation qu'a des cours.
    sinon, pour repondre à la question sur les gens qui s'interessent au langage naturel et qui utilisent prolog pour ca, il y a quelques labos comme
    IRISA (Rennes),
    IRIN (Nantes),
    LIFL (Lille),
    LORIA (Nancy)

    (le projet GRAPPA : Groupe de Recherche sur l'Apprentissage Automatique par exemple)

    peut etre que ca te donnera l'inspiration pour de futurs articles

    Tu oublies Luminy Marseille (d'où je viens!) Je rappelle que le labo de Luminy, dont une branche est spécialisée dans le TALN, a inventé le prolog!!!

  13. #13
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par billynirvana
    Tu oublies Luminy Marseille (d'où je viens!)
    Tu as eu Alain Colmerauer (l'inventeur du Prolog) comme prof?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  14. #14
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Oui, Mr Colmerauer, Mr Van Caneghem et Mr Pasero. Ces trois personnes ont contribué à Prolog.

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    justement, je serais bien allé sur le site du labo d'informatique de Marseille, mais tout les liens sont morts! il a disparu ou quoi !
    tout ce qui touche au traitement des langues naturelles m'interessent et j'aimerais bien savoir comment ils utilisent prolog...

  16. #16
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Citation Envoyé par crawek
    justement, je serais bien allé sur le site du labo d'informatique de Marseille, mais tout les liens sont morts! il a disparu ou quoi !
    tout ce qui touche au traitement des langues naturelles m'interessent et j'aimerais bien savoir comment ils utilisent prolog...

    Je peux te donner des documents si cela t'interesse. Par contre, il n'utilise pas la convention d'Edimbourg, mais celle de Marseille (fier en plus ). Ils ne maintiennent plus Prolog par contre.


    Voila un lien sur Prolog (le kit Prolog + mes tps commentés)
    http://www.resus.univ-mrs.fr/~billy/...itrise/prolog/


    Voila un peu de TALN:
    http://www.resus.univ-mrs.fr/~billy/.../maitrise/taln


    Le lien des Master IL (Ingénierie langues)
    http://www.dil.univ-mrs.fr/masterinfo/IL.html

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    j'ai une nouvelle question (peut etre devrais-je la poster dans un nouveau sujet?)
    que signifient les:
    _G236
    _G237
    ????

    le G signifie quelque chose? 236, 237 ca represente quoi?
    (je m'egare peut etre dans des questions metaphysiques, mais je cherche toujours a faire des grammaires prolog qui "apprenent" et là je bloque...)

    (merci pour les liens vers marseille!)

  18. #18
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    C'est simple, le '_' signifie que la variable n'est pas unifiée (elle n'a donc pas de valeur. Elle est libre quoi !). Ce qui se trouve derrière te permet d'identifier cette variable de manière unique.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2003, 13h43
  2. Interception du signal SIGINT
    Par macleod dans le forum MFC
    Réponses: 2
    Dernier message: 01/07/2003, 18h39
  3. Interception des commandes in et out
    Par KDD dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 18/12/2002, 16h55
  4. [VB6] Intercepter le printscreen
    Par Rami dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/10/2002, 18h21
  5. [VB6] Interception des évènement Copier/Couper/Coller
    Par youtch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/10/2002, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo