text: /*************************************************************************
                             E9  -  Etat de l'analyseur
                               -------------------
      début                : 8 mars 2016 10:43:20
      copyright            : (C) 2016 par H4112
  *************************************************************************/
  
  //---------- Interface de la classe <E9> (fichier E9.h) ------
  #if ! defined ( E9_H )
  #define E9_H
  
  //--------------------------------------------------- Interfaces utilisées
  #include "../symboles/Symbole.h"
  #include "../Automate.h"
  #include "Etat.h"
  
  //------------------------------------------------------------- Constantes 
  
  //------------------------------------------------------------------ Types 
  
  //------------------------------------------------------------------------ 
  // Rôle de la classe <E9>
  // Définit l'état E9 de l'automate et ses transitions.
  //
  //------------------------------------------------------------------------ 
  
  class E9 : public Etat
  {
  //----------------------------------------------------------------- PUBLIC
  
  public:
  //----------------------------------------------------- Méthodes publiques
      void Afficher ( ) const;
      // Mode d'emploi :
      //     Ecrit le nom de l'état sur la sortie standard.
      // Contrat :
      //     Aucun
      
      bool Transition ( Automate & automate, Symbole * s );
      // Mode d'emploi :
      //     Appelle l'automate donné en paramètre pour effectuer le décalage
      //     ou la réduction correspondant au symbole passé en paramètre.
      // Contrat :
      //     Aucun
  
      Symbole * Recuperation ( Symbole * symb );
      // Mode d'emploi :
      //     Renvoie le symbole sur lequel faire la transition,
      //     à la place du symbole lu passé en paramètre, pour récupérer d'une erreur.
      //     Renvoie NULL si l'erreur n'est pas simplement récupérable.
      // Contrat :
      //     Avoir auparavant appelé Transition qui a renvoyé false.
      //     symb n'est pas NULL.
  
  //------------------------------------------------- Surcharge d'opérateurs
      
  
  //-------------------------------------------- Constructeurs - destructeur
      E9 ( const E9 & unE9 );
      // Interdit
  
      E9 ( ); 
  
      virtual ~E9 ( );
  
  //------------------------------------------------------------------ PRIVE 
  
  protected:
  //----------------------------------------------------- Méthodes protégées
  
  private:
  //------------------------------------------------------- Méthodes privées
  
  protected:
  //----------------------------------------------------- Attributs protégés
  
  private:
  //------------------------------------------------------- Attributs privés
  
  //---------------------------------------------------------- Classes amies
  
  //-------------------------------------------------------- Classes privées
  
  //----------------------------------------------------------- Types privés
  
  };
  
  //----------------------------------------- Types dépendants de <E9>
  
  #endif // E9_H
  