ProjetCompil.Global.Src
Class Type

java.lang.Object
  extended by ProjetCompil.Global.Src.Type

public class Type
extends java.lang.Object

Classe des types. Un objet de la classe Type représente un type du langage JCas. L'ensemble des types est défini par la grammaire d'arbres suivante :

La nature d'un type est définie par un attribut de type NatureType. Les différentes natures d'un type sont les suivantes : NatureType.String, NatureType.Boolean, NatureType.Real, NatureType.Interval, NatureType.Array.

Tous les types ont un attribut taille de type int, initialisé à la valeur -1 lors de leur création. Cet attribut sert à stocker la taille mémoire occupée par une valeur du type en passe 3.

Les types Type.Interval possèdent deux attributs de type int : la borne inférieure borneInf et la borne supérieure borneSup de l'intervalle.

Les types Type.String, Type.Boolean, Type.Real n'existent qu'en un seul exemplaire.

Le type 'Type.Integer' est prédéfini comme un Type.Interval, avec les attributs :
   borneInf = -java.lang.Integer.MAX_VALUE 
   borneSup = java.lang.Integer.MAX_VALUE 
 


Field Summary
static Type Boolean
          Le type boolean.
static Type Integer
          Le type integer.
static Type Real
          Le type real.
static Type String
          Le type string.
 
Method Summary
 void afficher(int niveau)
          Affiche ce type avec le niveau de détails spécifié.
static Type creationArray(Type typeIndice, Type typeElement)
          Constructeur de type tableau.
static Type creationInterval(int borneInf, int borneSup)
          Constructeur de type intervalle de bornes inférieure et supérieure spécifiées.
 int getBorneInf()
          La borne inférieure d'un type intervalle.
 int getBorneSup()
          La borne supérieure d'un type intervalle.
 Type getElement()
          Le type des éléments pour un type tableau.
 Type getIndice()
          Le type des indices pour un type tableau.
 NatureType getNature()
          La nature de ce type.
 int getTaille()
          La taille de ce type.
 void setBorneInf(int borneInf)
          Modifie la borne inférieure d'un type intervalle.
 void setBorneSup(int borneSup)
          Modifie la borne supérieure d'un type intervalle.
 void setElement(Type typeElement)
          Modifie le type des éléments pour un type tableau.
 void setIndice(Type typeIndice)
          Modifie le type des indices pour un type tableau.
 void setTaille(int taille)
          Modifie la taille de ce type.
 java.lang.String toString()
          Chaîne de carcatères qui correspond à ce type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

String

public static final Type String
Le type string.


Boolean

public static final Type Boolean
Le type boolean.


Real

public static final Type Real
Le type real.


Integer

public static final Type Integer
Le type integer.

Method Detail

creationInterval

public static Type creationInterval(int borneInf,
                                    int borneSup)
Constructeur de type intervalle de bornes inférieure et supérieure spécifiées.


creationArray

public static Type creationArray(Type typeIndice,
                                 Type typeElement)
Constructeur de type tableau. Précondition : la nature de typeIndice est NatureType.Interval.


getNature

public NatureType getNature()
La nature de ce type.


getTaille

public int getTaille()
La taille de ce type.


getIndice

public Type getIndice()
Le type des indices pour un type tableau. Précondition : la nature de ce type doit être NatureType.Array.


getElement

public Type getElement()
Le type des éléments pour un type tableau. Précondition : la nature de ce type doit être NatureType.Array.


getBorneInf

public int getBorneInf()
La borne inférieure d'un type intervalle. Précondition : la nature de ce type doit être NatureType.Interval.


getBorneSup

public int getBorneSup()
La borne supérieure d'un type intervalle. Précondition : la nature de ce type doit être NatureType.Interval.


setTaille

public void setTaille(int taille)
Modifie la taille de ce type.


setIndice

public void setIndice(Type typeIndice)
Modifie le type des indices pour un type tableau. Précondition : la nature de ce type doit être NatureType.Array.


setElement

public void setElement(Type typeElement)
Modifie le type des éléments pour un type tableau. Précondition : la nature de ce type doit être NatureType.Array.


setBorneInf

public void setBorneInf(int borneInf)
Modifie la borne inférieure d'un type intervalle. Précondition : la nature de ce type doit être NatureType.Interval.


setBorneSup

public void setBorneSup(int borneSup)
Modifie la borne supérieure d'un type intervalle. Précondition : la nature de ce type doit être NatureType.Interval.


toString

public java.lang.String toString()
Chaîne de carcatères qui correspond à ce type.

Overrides:
toString in class java.lang.Object

afficher

public void afficher(int niveau)
Affiche ce type avec le niveau de détails spécifié.