Arrg, je pense ne pas avoir su expliquer ce que je voulais, je m'en excuse; le but est d'analyser des cha�nes de caract�res rentr�es dynamiquement par l'utilisateur; il va rentrer par exemple "A == B", et moi, qui connais la valeur bool�enne de A et de B, va lui renvoyer le r�sultat. Il me faut donc une proc�dure pour �valuer la cha�ne de caract�re "A == B". Bien s�r, je peux utiliser des interpr�teurs, voir des librairies sp�cialis�es (comme JEP), mais je n'ai besoin que de la portion congrue de cette classe d'algorithmes, afin:
- d'avoir juste quelques proc�dures � ajouter � la classe qui a besoin de ce traitement
- de n'avoir juste � g�rer que les expressions bool�ennes (donc, pas de "calculs" de sommes, produits, etc.)


Aur�lien

Le vendredi, 21 mar 2003, � 09:29 Europe/Paris, St�phan BERNARD a �crit :

Bonjour,

A mon humble avis, si tu veux faire �a en java,
- Soit tu veux simplement faire un calcul et tu peux �crire une classe
pour l'occasion, du genre
public class Evalue {
static public void main(String[] args) {
boolean A = true, B= false, ...;
System.out.println("R�sultat : "+((A and B) or (C and !D) or (D == A)));
}
}
... mais tu aurais tout � gagner � utiliser un tableur
voire simplement une calculette,


- Soit tu peux directement coder tes expressions dans le programme,
si tu n'as pas besoin de les modifier interactivement,

- Soit tu veux �crire un logiciel qui a besoin d'�valuer ce type
d'expression, saisie interactivement par l'utilisateur ou pr�sente
dans un fichier, et dans ce cas, les m�canismes sont bien
plus complexes : il faudra tout d'abord lire et interpr�ter
ta cha�ne de caract�res pour la transformer en un arbre
avant de pouvoir effectuer le calcul.

Si tu n'as jamais programm�, et si tu dois te mettre � un langage
pour l'occasion, je te conseille de te tourner vers des logiciels
de calcul (du type R, S+, Mathlab, scilab...) qui t'offrent un langage
de programmation d�di� au calcul, ou �ventuellement d'utiliser
un langage de type scheme ou lisp, qui est tr�s bien adapt� �
la r�solution de ce type de probl�me (c'est le langage de pr�dilection
pour la r�solution de probl�mes logiques, de calcul sur des pr�dicats,
etc...). A noter qu'il existe une biblioth�que permettant d'interpr�ter
du scheme dans un programme java (je ne me souviens plus
de son nom, mais on doit pouvoir la retrouver rapidement avec
une recherche sur le web).

St�phan BERNARD

Aurelien Mazurie a �crit:
Oui, j'aurais peut-�tre du aller plus loin dans mon explication =) Je part de variables bool�ennes dont je connais les valeurs; appellons les A, B, C, etc. Je veux pouvoir disposer d'une m�thode o� j'injecte une cha�ne du genre "(A and B) or (C and not D) or (D == A)", et qui me renvoie "true" ou "false" en fonction du r�sultat. Il n'y a aucune valeur num�rique, uniquement des variables bool�ennes.
Aur�lien
Le jeudi, 20 mar 2003, � 18:04 Europe/Paris, Pascal Nicolas a �crit :
mais qu'est ce que tu veux dans les expressions ?

des choses du genre :
true et false l'expression ne contient que des bool�ens
ou
a et b a et b sont des symboles qui ont une valeur bool�enne
connue
par ailleurs
ou
A et B A et B sont des variables bool�ennes ou des objets avec une
m�thode du type getValue qui retourne un boolean
ou
autre chose ?


pour = et != idem qu'est-ce qu'il y a de chaque c�t� ? des exp arithm�tiques
5=7-2 ? ou X=5 ou .....


Il faudrait pr�ciser plus le langage autoris� pourles epxressions.

Pascal NICOLAS                Universite d'ANGERS
E Mail   : [EMAIL PROTECTED]
Web Page : http://www.info.univ-angers.fr/pub/pn/











Répondre à