module Declaration: sig end
Déclarations des différents types utilisés
exception FONCTIONNALITE_NON_IMPLEMENTEE
Exceptions levée lorsque le Parser rencontre une fonctionnalité qui ne sera pas implémentée par le precompilateur
type binOp =
| |
AND |
| |
OR |
| |
EQDEF |
| |
PLUS |
| |
MINUS |
| |
DIVIDE |
| |
TIMES |
| |
EQUAL |
| |
NOTEQUAL |
| |
LE |
| |
GE |
| |
LT |
| |
GT |
| |
MOD |
Définition des opérateurs binaires SMV
type unOp =
Définition de l'opérateur unaire "!"
type variable = string * m_type
Une variable contient un identificateur et son type
type expr =
Définition d'une expression
type m_type =
| |
Boolean |
| |
Enum of expr list |
| |
Objet of string |
| |
Constructeur of expr |
| |
Defini of expr |
| |
Inconnu |
Les différents types que peut avoir une variable
type parametres = variable list
Liste contenant les paramétres de construction du module
type var_list = variable list
Liste des variables contenues dans le module SMV : partie VAR
type assign =
Définition de la structure de l'ASSIGN dans un module SMV
type assign_list = (assign * expr) list
Liste de tous les assign contenus dans le module SMV : partie ASSIGN
type define_list = variable list
Liste de tous les define contenus dans le module SMV : partie DEFINE
type liste =
Définition d'un élément de la liste de déclarations d'un module SMV
type moduleType = string * parametres
Type regroupant le nom du module et ses paramètres de constructions
type declarations = liste list
Type regroupant toutes les composantes d'un module
type moduleSMV = {
}
Structure définissant la composition d'un module SMV
type fichier = moduleSMV list
Liste contenant tous les modules définis dans un fichier