bob.substitution
Class TSubDevientTelQue

java.lang.Object
  extended by bob.elementB.TElementB
      extended by bob.substitution.TSubstitution
          extended by bob.substitution.TSubDevientTelQue

public class TSubDevientTelQue
extends TSubstitution

La classe TSubDevientTelQue contient les informations sur une substitution "devient tel que". C'est une substitution généralisée non primitive.

Syntaxe B:

TExprIdentificateur1,TExprIdentificateur2,... : (TPredicat)

Version:
1.0 du 13/06/2001
Author:
Frédéric Chatel
See Also:
TSubstitution, TExprIdentificateur, TPredicat

Field Summary
 
Fields inherited from class bob.substitution.TSubstitution
Primitive
 
Constructor Summary
TSubDevientTelQue(java.util.Vector<TExprIdentificateur> Lid, TPredicat p)
          Constructeur paramétré qui initialise les attributs :
 
Method Summary
 void Afficher(java.io.Writer flux_sortie)
          Affiche une substitution "devient tel que".
 void Afficher(java.io.Writer flux_sortie, int niveau)
          Affiche une substitution "devient tel que" avec presentation.
 TPredicat CalculerWP(TPredicat post_cond)
          Calcule la plus faible précondition [x:P]R.
 tatibouet.bparser.Noeud ConstruireNoeud()
          Construit un Noeud Tatibouet à partir d'une substitution "devient élément de"
 TSubstitution Convertir()
          Convertit la substitution "devient tel que" en substitution primitive "variable locale".
 java.util.Vector<TExprIdentificateur> DonnerIdent()
          Donne la liste d'identificateurs à gauche de l'opérateur B ":".
 TPredicat DonnerPredicat()
          Donne le prédicat à droite de l'opérateur B ":".
 TElementB Dupliquer()
          Renvoie la copie conforme de l'élément courant cloné sur toute sa hauteur
 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.
 
Methods inherited from class bob.substitution.TSubstitution
CalculerGarde, CalculerTermin, EstPrimitive, EstSubMachine, RemplacerAppelOp, Simplifier, TraiterAssertSansRenommage
 
Methods inherited from class bob.elementB.TElementB
RemplacerMultiple
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TSubDevientTelQue

public TSubDevientTelQue(java.util.Vector<TExprIdentificateur> Lid,
                         TPredicat p)
Constructeur paramétré qui initialise les attributs :

Parameters:
Lid - Liste d'identificateurs à gauche de l'opérateur B ":".
p - Prédicat à droite de l'opérateur B :.
Method Detail

DonnerIdent

public java.util.Vector<TExprIdentificateur> DonnerIdent()
Donne la liste d'identificateurs à gauche de l'opérateur B ":".

Returns:
La liste d'identificateurs à gauche de l'opérateur B ":".

DonnerPredicat

public TPredicat DonnerPredicat()
Donne le prédicat à droite de l'opérateur B ":".

Returns:
Le prédicat à droite de l'opérateur B ":".

Dupliquer

public TElementB Dupliquer()
Renvoie la copie conforme de l'élément courant cloné sur toute sa hauteur

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

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 occurrences sont remplacees par e Sinon : L'element B courant est renvoye non modifie

Convertir

public TSubstitution Convertir()
Convertit la substitution "devient tel que" en substitution primitive "variable locale".

Syntaxe B:

VAR TExprIdentificateur IN
     SELECT TPredicat THEN
         TExprIdentificateur := TExprIdentificateur
     END
END

Overrides:
Convertir in class TSubstitution
Returns:
La substitution "variable locale" obtenue.

CalculerWP

public TPredicat CalculerWP(TPredicat post_cond)
Calcule la plus faible précondition [x:P]R. Comme on est dans le cas d'une substitution généralisée, la conversion est réalisée automatiquement avant le calcul.

Overrides:
CalculerWP in class TSubstitution
Parameters:
post_cond - Postcondition vérifiée après la fin de la substitution "devient tel que".
Returns:
Le prédicat !z.(P=>[x:=z]R).

Afficher

public void Afficher(java.io.Writer flux_sortie)
              throws java.io.IOException,
                     java.io.FileNotFoundException
Affiche une substitution "devient tel que".

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

Afficher

public void Afficher(java.io.Writer flux_sortie,
                     int niveau)
              throws java.io.IOException,
                     java.io.FileNotFoundException
Affiche une substitution "devient tel que" avec presentation.

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

ConstruireNoeud

public tatibouet.bparser.Noeud ConstruireNoeud()
Construit un Noeud Tatibouet à partir d'une substitution "devient élément de"

Overrides:
ConstruireNoeud in class TElementB
Returns:
Noeud


Copyright OB.