Coverage Report - ProjetCompil.Verif.Src.ErreurContext
 
Classes in this File Line Coverage Branch Coverage Complexity
ErreurContext
46 %
23/49
6 %
1/15
16
ErreurContext$1
100 %
1/1
N/A
16
 
 1  
 /**
 2  
  * Type énuméré pour les erreurs contextuelles.
 3  
  * Ce type énuméré définit toutes les erreurs contextuelles possibles et 
 4  
  * permet l'affichage des messages d'erreurs pour la passe 2.
 5  
  */
 6  
 
 7  
 // -------------------------------------------------------------------------
 8  
 // A COMPLETER, avec les différents types d'erreur et les messages d'erreurs 
 9  
 // correspondants
 10  
 // -------------------------------------------------------------------------
 11  
 
 12  
 package ProjetCompil.Verif.Src;
 13  
 
 14  17
 public enum ErreurContext {
 15  1
         ErreurVariableNonDeclaree,
 16  1
         ErreurBorneNonEntier,
 17  1
         ErreurBorneDefinitionIntervalleInverse,
 18  1
         ErreurBorneDefinitionIntervalleVide,
 19  1
         ErreurTypeNonDeclare,
 20  1
         ErreurRedefinitionVariable,
 21  1
         ErreurIdentificateurVarAttendu,
 22  1
         ErreurAffectionIncompatible,
 23  1
         ErreurOperationIncompatible,
 24  1
         ErreurIdentificateurVarOuConstanteAttendu,
 25  1
         ErreurPasFor,
 26  1
         ErreurCondition,
 27  1
         ErreurWrite,
 28  1
         ErreurLecture,
 29  1
    ErreurNonRepertoriee;
 30  
 
 31  
    void leverErreurContext(String s, int numLigne) throws ErreurVerif {
 32  1
       System.err.println("Erreur contextuelle : ");
 33  1
       switch (this) {
 34  
               case ErreurVariableNonDeclaree:
 35  0
                       System.err.print("La variable " + s + " n'a pas été préalablement définie");
 36  0
               break;
 37  
               case ErreurBorneNonEntier:
 38  0
                       System.err.print("La borne utilisée (\"" + s + "\") n'est pas de type entier");
 39  0
               break;
 40  
               case ErreurBorneDefinitionIntervalleInverse:
 41  0
                       System.err.print("La borne inférieur est plus grande que la borne supérieur");
 42  0
               break;
 43  
               case ErreurBorneDefinitionIntervalleVide:
 44  0
                       System.err.print("La borne inférieur et la borne supérieur sont égales");
 45  0
               break;
 46  
               case ErreurTypeNonDeclare:
 47  0
                       System.err.print("Le type " + s + " n'a pas été préalablement définie");
 48  0
               break;
 49  
               case ErreurRedefinitionVariable:
 50  0
                       System.err.print("La variable " + s + " a déjà été définie");
 51  0
               break;
 52  
               case ErreurIdentificateurVarAttendu:
 53  0
                       System.err.print("Un nom de variable est attendus, \"" + s + "\" n'en n'est pas");
 54  0
               break;
 55  
               case ErreurAffectionIncompatible:
 56  1
                       System.err.print("La variable n'est pas compatible avec l'expression  : " + s);
 57  1
               break;
 58  
               case ErreurOperationIncompatible:
 59  0
                       System.err.print("L'operateur \""+ s +"\" n'est pas compatible avec les types de variable utilisés");
 60  0
               break;
 61  
               case ErreurIdentificateurVarOuConstanteAttendu:
 62  0
                       System.err.print("Un nom de variable ou une constante est attendus, \"" + s + "\" n'en n'est pas");
 63  0
               break;
 64  
               case ErreurPasFor:
 65  0
                       System.err.print("Le pas de la boucle for doit être un interval");
 66  0
               break;
 67  
               case ErreurCondition:
 68  0
                       System.err.print("La condition de l'instruction \"" + s + "\" doit être booléenne");
 69  0
               break;
 70  
               case ErreurWrite:
 71  0
                       System.err.print("L'instruction Write attends des expresssions de type Interval, Réel ou Chaine de caractère. Expression de type \""+s+"\" utilisée");
 72  0
               break;
 73  
               case ErreurLecture:
 74  0
                       System.err.print("L'instruction Read attends des expresssions de type Interval ou Réel. Expression de type \""+s+"\" utilisée");
 75  0
               break;
 76  
               
 77  
          default:
 78  15
             System.err.print("non repertoriee");
 79  
       }
 80  1
       System.err.println(" ... ligne " + numLigne);
 81  1
       throw new ErreurVerif();
 82  
    }
 83  
 
 84  
 }
 85  
 
 86