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 :

[Sicstus] Prologbeans et binding Java


Sujet :

Prolog

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 35
    Points : 42
    Points
    42
    Par défaut [Sicstus] Prologbeans et binding Java
    bonjour
    je débute avec Sicstus Prolog (imposé), je tente de faire une interface java qui communique avec un serveur prolog.
    j'ai lu les exemples qui se trouve dans la doc de Sicstus(notament EvaluateGUI).

    j'ai pris un petit programme prolog qui permet de calculer le PGCD :
    où G est le pgcd de x et y.

    mais maintenant je bloque au niveau du binding java : je ne sais pas s'il faut réaliser un bind par variable (x et y) ou s'il faut les mettre dans un seul bind. voici ce que j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int i=63; int j=36;
    Bindings a = new Bindings().bind("I,J",i+','+j+'.');   
    QueryAnswer answer = session.executeQuery("pgcd(I,J,G)",a);
    Term result = answer.getValue("G");
    if (result!= null) {System.out.println(result); 
      }
      else{ System.out.println("ERREUR");
      };
    et du coté de prolog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    register_query(pgcd(X,Y,G), gcd(X,Y,G))
    evidement, aprés exécution, le seul message qui s'affiche, c'est "erreur"

    merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 35
    Points : 42
    Points
    42
    Par défaut merci quand même...
    java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public String PGCD(String i,String j) throws IOException{
        Bindings B = new Bindings().bind("L","["+i+","+j+"].");
        QueryAnswer answer = session.executeQuery("pgcd(L,G)",B);
        G = answer.getValue("G");
        System.out.println(G);
        return G.toString();
     
     
        };
    prolog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
     
    :-module(pgcd,[main/0,ppgcd/2,gcd/3]).
    :-use_module(library(prologbeans)).
    :- use_module(library(charsio),[read_from_chars/2]).
     
    main:- register_query(pgcd(L,G), ppgcd(L,G)),
     
           start.
     
     
     
    % ppgcd(L,G):-read_from_chars(L, LL), slic(LL,1,X),slic(LL,2,Y).  %,gcd(X,Y,G).
     
    ppgcd(L,G):-read_from_chars(L, LL),
    aeee(LL,G).
    aeee([X,Y],G):-gcd(X,Y,G).
     
    gcd(X,0,X) :- X > 0.
    gcd(X,Y,G) :- Y > 0, Z is X mod Y, gcd(Y,Z,G).
     
     
    % Declare gcd as an arithmetic function; so you can use it
    % like this:  ?- G is gcd(36,63).
    % tiré de https://staff.hti.bfh.ch/hew1/informatik3/prolog/p-99/
     
    %%
    % ( c ) john DEUA 
    %%
     
    :- arithmetic_function(gcd/2).

  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
    Désolé, mais peu de forumeurs utilisent Sicstus Prolog
    "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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JavaFX without EDT & bind java/JavaFX
    Par r1-1024 dans le forum JavaFX
    Réponses: 13
    Dernier message: 29/09/2009, 02h29
  2. [Sicstus] jasper --> no spnative in java.library.path
    Par ouioui44 dans le forum Prolog
    Réponses: 2
    Dernier message: 20/03/2008, 19h54
  3. Sicstus / Interface prolog java
    Par superhu dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2007, 16h58
  4. JSF + ADF] tutorial java + bindings
    Par bertlef dans le forum JSF
    Réponses: 1
    Dernier message: 11/09/2006, 10h02

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