Cours et manuel de référence du langage Caml

Formation et manuel de référence du langage Caml, tutoriel & guide de travaux pratiques en pdf.

Tableaux

L’expression [| expr1 ;…; exprn |] s’´evalue en un tableau `a n cases, dont les elements sont initialises avec les valeurs de expr1 a exprn respectivement. L’ordre dans lequel ces expressions sont evaluees n’est pas sp´ecifi´e. L’expression expr1 .( expr2 ) est equivalente a l’application vect_item expr1 expr2. Dans l’environnement initial, l’identificateur vect_item est resolu en la fonction predefinie qui retourne la valeur de l’element numero expr2 dans le tableau denote par expr1. Le premier element porte le numero 0 et le dernier element le numero n−1, ou` n est la taille du tableau. L’exception Invalid_argument est d´eclench´ee si l’on tente d’acceder hors des limites du tableau. L’expression expr1 .( expr2 ) <- expr3 est ´equivalente `a l’application vect_assign expr1 expr2 expr3. Dans l’environnement initial, l’identificateur vect_assign est r´esolu en la fonction predefinie qui modifie physiquement le tableau d´enot´e par expr1, remplac¸ant l’´el´ement num´ero expr2 par la valeur de expr3. L’exception Invalid_argument est d´eclench´ee si l’on tente d’acc´eder hors des limites du tableau. La fonction pr´ed´efinie retourne (). Donc, l’expression expr1 .( expr2 ) <- expr3 s’´evalue en la valeur rien (). Ce comportement de expr1 .( expr2 ) et de expr1 .( expr2 ) <- expr3 peut changer si la signification des identificateurs vect_item et vect_assign est modifi´ee, soit par red´efinition soit par modification de la liste des modules ouverts. (Voir la discussion du paragraphe suivant.)

LIRE AUSSI :  Programmation du système Unix en objective Caml

Operateurs

Les operateurs notes operateur-infixe dans la grammaire des expressions peuvent apparaıtre en position infixe (entre deux expressions). Les operateurs not´es operateur-prefixe dans la grammaire peuvent apparaıtre en position pr´efixe (devant une expression). L’expression op´erateur-pr´efixe expr est interpr´et´ee comme l’application ident expr, ou` ident est l’identificateur associ´e `a l’op´erateur op´erateur-pr´efixe dans la table de la figure 1.1. De la mˆeme fac¸on, expr1 op´erateur-infixe expr2 est interpr´et´ee comme l’application ident expr1 expr2, ou` ident est l’identificateur associe a l’operateur operateur-infixe dans la table de la figure 1.1.
Ex: -x est interpretee comme minus x. x/y est interpretee comme (prefix /) x y.
Les identificateurs associ´es aux operateurs sont ensuite qualifies suivant les regles de la section 1.7.2. Dans l’environnement initial, ils s’´evaluent en des fonctions predefinies dont le comportement est d´ecrit dans la table.
Ex: Dans l’environnement initial, le nom abrege minus s’evalue en la fonction «oppose» sur les valeurs entieres. L’expression -x s’´evalue donc en l’oppos´e de x. Le comportement de operateur-prefixe expr et expr1 op´erateur-infixe expr2 peut changer si la signification de l’identificateur associ´e `a op´erateur-pr´efixe ou operateur-infixe est changee, soit par redefinition des identificateurs, soit par modification de la liste des modules ouverts `a l’aide des directives #open et #close.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *