bob.expression
Class TExprOpBinaire

java.lang.Object
  extended by bob.elementB.TElementB
      extended by bob.expression.TExpression
          extended by bob.expression.TExprOpBinaire

public class TExprOpBinaire
extends TExpression

La classe TExprOpBinaire contient les informations d'un opérateur binaire.

Syntaxe B:

TExpression TOpBinaire TExpression

Version:
1.0 du 13/06/2001
Author:
Frédéric Chatel
See Also:
TExpression, TOpBinaire

Constructor Summary
TExprOpBinaire(TOpBinaire op, TExpression op_gauche, TExpression op_droite)
          Constructeur paramètré qui initialise les attributs avec les entrées de l'utilisateur.
 
Method Summary
 void Afficher(java.io.Writer flux_sortie)
          Affiche une opération binaire.
 tatibouet.bparser.Noeud ConstruireNoeud()
          Construit un Noeud Tatibouet à partir d'une opération binaire.
 TExpression DonnerOpDroite()
          Donne l'opérande de droite.
 TOpBinaire DonnerOperateur()
          Donne l'opérateur binaire utilisé.
 TExpression DonnerOpGauche()
          Donne l'opérande de gauche.
 TElementB Dupliquer()
          Renvoie la copie conforme de l'element courant clone sur toute sa hauteur
 boolean EstSyntaxEgal(TExpression e)
          Recherche si l'expression en paramètre est syntaxiquement égale à l'objet courant.
 java.util.Vector<TExprIdentificateur> ListeDesNomsLibres()
          Renvoie la liste des identificateurs libres dans un predicat, une expression ou une substitution.
 TElementB Remplacer(TExprIdentificateur Id, TExpression e)
          Remplace un identificateur non libre dans l'élément B courant par une expression donnee.
 TExpression Simplifier()
          Simplifie une Opération Binaire.
 
Methods inherited from class bob.elementB.TElementB
Afficher, RemplacerMultiple
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TExprOpBinaire

public TExprOpBinaire(TOpBinaire op,
                      TExpression op_gauche,
                      TExpression op_droite)
Constructeur paramètré qui initialise les attributs avec les entrées de l'utilisateur.

Parameters:
op - L'opérateur binaire à utiliser.
op_gauche - Opérande de gauche.
op_droite - Opérande de droite.
Method Detail

Dupliquer

public TElementB Dupliquer()
Renvoie la copie conforme de l'element courant clone sur toute sa hauteur

Overrides:
Dupliquer in class TElementB
Returns:
un clone integral de l'element B courant

DonnerOperateur

public TOpBinaire DonnerOperateur()
Donne l'opérateur binaire utilisé.

Returns:
L'opérateur binaire utilisé.

DonnerOpGauche

public TExpression DonnerOpGauche()
Donne l'opérande de gauche.

Returns:
L'opérande de gauche.

DonnerOpDroite

public TExpression DonnerOpDroite()
Donne l'opérande de droite.

Returns:
L'opérande de droite.

Simplifier

public TExpression Simplifier()
Simplifie une Opération Binaire. Méthode de Nicolas Stouls.

Overrides:
Simplifier in class TExpression
Returns:
Renvoie l'expression simplifiée si l'expression est arithmétique et les opérandes sont des constantes entières.
Si les opérandes sont des ensembles, on a la simplification si un opérande est l'ensemble vide, dans les cas \/, /\, -, *.
Sur les opérateurs de relations, on a des simplifications dans les cas image, ";", <|, <<|, |>, |>>.

EstSyntaxEgal

public boolean EstSyntaxEgal(TExpression e)
Recherche si l'expression en paramètre est syntaxiquement égale à l'objet courant.

Overrides:
EstSyntaxEgal in class TExpression
Parameters:
e - l'expression à tester.
Returns:
Retourne vrai si les expressions sont syntaxiquement égales.

ListeDesNomsLibres

public java.util.Vector<TExprIdentificateur> ListeDesNomsLibres()
Renvoie la liste des identificateurs libres dans un predicat, une expression ou une substitution.

Overrides:
ListeDesNomsLibres in class TElementB
Returns:
un vecteur dont chaque element est un Tidentificateur libre.

Remplacer

public TElementB Remplacer(TExprIdentificateur Id,
                           TExpression e)
Remplace un identificateur non libre dans l'élément B courant par une expression donnee.

Overrides:
Remplacer in class TElementB
Parameters:
Id - : l'identificateur a remplacer
e - : la nouvelle expression
Returns:
Si Id est non libre dans l'element B courant alors toutes ses iterations sont remplacees par e Sinon : L'element B courant est renvoye non modifie

Afficher

public void Afficher(java.io.Writer flux_sortie)
              throws java.io.IOException,
                     java.io.FileNotFoundException
Affiche une opération binaire.

Overrides:
Afficher in class TElementB
Parameters:
flux_sortie - Flux de sortie: fichier de type FileWriter ou terminal(new PrintWriter(System.out)).
Throws:
java.io.IOException
java.io.FileNotFoundException

ConstruireNoeud

public tatibouet.bparser.Noeud ConstruireNoeud()
Construit un Noeud Tatibouet à partir d'une opération binaire.

Overrides:
ConstruireNoeud in class TElementB
Returns:
Noeud


Copyright OB.