Coverage Report - ProjetCompil.Verif.Src.ErreurContext
 
Classes in this File Line Coverage Branch Coverage Complexity
ErreurContext
80 %
40/50
60 %
9/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  408
 public enum ErreurContext {
 15  24
         ErreurVariableNonDeclaree,
 16  24
         ErreurBorneNonEntier,
 17  24
         ErreurBorneDefinitionIntervalleInverse,
 18  24
         ErreurBorneDefinitionIntervalleVide,
 19  24
         ErreurTypeNonDeclare,
 20  24
         ErreurRedefinitionVariable,
 21  24
         ErreurIdentificateurVarAttendu,
 22  24
         ErreurAffectionIncompatible,
 23  24
         ErreurOperationIncompatible,
 24  24
         ErreurIdentificateurVarOuConstanteAttendu,
 25  24
         ErreurPasFor,
 26  24
         ErreurCondition,
 27  24
         ErreurWrite,
 28  24
         ErreurLecture,
 29  24
    ErreurNonRepertoriee;
 30  
 
 31  
    void leverErreurContext(String s, int numLigne) throws ErreurVerif {
 32  24
       System.err.println("Erreur contextuelle : ");
 33  24
       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  1
                       System.err.print("La borne inférieur est plus grande que la borne supérieur");
 42  1
               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  4
                       System.err.print("erreurcontext 47");
 48  4
                       System.err.print("Le type " + s + " n'a pas été préalablement définie");
 49  4
               break;
 50  
               case ErreurRedefinitionVariable:
 51  1
                       System.err.print("La variable " + s + " a déjà été définie");
 52  1
               break;
 53  
               case ErreurIdentificateurVarAttendu:
 54  0
                       System.err.print("Un nom de variable est attendus, \"" + s + "\" n'en n'est pas");
 55  0
               break;
 56  
               case ErreurAffectionIncompatible:
 57  8
                       System.err.print("La variable n'est pas compatible avec l'expression");
 58  8
               break;
 59  
               case ErreurOperationIncompatible:
 60  3
                       System.err.print("L'operateur \""+ s +"\" n'est pas compatible avec les types de variable utilisés");
 61  3
               break;
 62  
               case ErreurIdentificateurVarOuConstanteAttendu:
 63  0
                       System.err.print("Un nom de variable ou une constante est attendus, \"" + s + "\" n'en n'est pas");
 64  0
               break;
 65  
               case ErreurPasFor:
 66  2
                       System.err.print("Le pas de la boucle for doit être un interval");
 67  2
               break;
 68  
               case ErreurCondition:
 69  1
                       System.err.print("La condition de l'instruction \"" + s + "\" doit être booléenne");
 70  1
               break;
 71  
               case ErreurWrite:
 72  2
                       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");
 73  2
               break;
 74  
               case ErreurLecture:
 75  2
                       System.err.print("L'instruction Read attends des expresssions de type Interval ou Réel. Expression de type \""+s+"\" utilisée");
 76  2
               break;
 77  
               
 78  
          default:
 79  360
             System.err.print("non repertoriee");
 80  
       }
 81  24
       System.err.println(" ... ligne " + numLigne);
 82  24
       throw new ErreurVerif();
 83  
    }
 84  
 
 85  
 }
 86  
 
 87