Annexe C - Éléments du langage étudiés dans ce cours▲
C-1. Syntaxe▲
C-1-1. Commentaires▲
(* ceci est un commentaire *)
C-1-2. Expressions et instructions▲
2.
3.
4.
<
instruction 1
>
;
<
instruction 2
>
;
…
<
instruction n >
2.
3.
begin
(* sequence d'instructions *)
end
C-1-3. Expressions conditionnelles▲
2.
3.
4.
if
<
condition >
then
<
expression 1
>
else
<
expression 2
>
C-1-4. Instructions conditionnelles▲
2.
3.
4.
if
<
condition >
then
(* bloc d'instructions *)
else
(* bloc d'instructions *)
2.
if
<
condition >
then
(* bloc d'instructions *)
C-1-5. Instructions conditionnellement répétées▲
2.
3.
while
<
condition >
do
(* sequence d'instructions *)
done
C-1-6. Constantes, variables▲
let
<
identificateur >
=
<
expression >
2.
3.
4.
let
<
identificateur 1
>
=
<
expression 1
>
and
<
identificateur 2
>
=
<
expression 2
>
...
and
<
identificateur n >
=
<
expression n >
2.
3.
4.
5.
let
<
identificateur 1
>
=
<
expression 1
>
and
<
identificateur 2
>
=
<
expression 2
>
...
in
<
expression >
let
<
identificateur >
=
ref
<
expression >
<
identificateur >
:=
<
expression >
C-1-7. La boucle pour▲
2.
3.
for
i
=
a to
b do
(* sequence d'instructions *)
done
2.
3.
for
i
=
a downto
b do
(* sequence d'instructions *)
done
C-1-8. Les fonctions▲
2.
let
<
nom>
(<
liste paramètres>
) =
(* expression simple ou séquence d'instructions définissant la fonction *)
C-1-9. Caractères et chaînes de caractères▲
s.[i
]
s.[i
] <-
(* une expression de type char *)
C-2. Mots-clés du langage▲
Liste des mots-clés (ou encore mots réservés) du langage rencontrés dans ce cours.
and
, begin
, do
, done
, downto
, else
, end
, false
, for
, if
, in
, let
, open
, ref
, then
, to
, true
, while
.
Rappel Les mots-clés du langage ne peuvent pas servir d'identificateurs de variables.
C-3. Fonctions prédéfinies du langage▲
C-3-1. Fonctions de conversion▲
int_of_float
: float
→ int
int_of_float
x convertit le flottant x en un entier.
float_of_int
: int
→ float
float_of_int
n convertit l'entier n en un flottant.
int_of_char
: char
→ int
int_of_char
c convertit le caractère c en un entier (son code ASCII).
char_of_int
: int
→ char
char_of_int
n convertit l'entier n en le caractère de code n.
Déclenche l'exception Invalid_argument "char_of_int" si n n'est pas un entier compris entre 0 et 255.
int_of_string
: string
→ int
int_of_string
s convertit la chaîne s en un entier.
Déclenche l'exception Failure "int_of_string" si s n'est pas l'écriture d'un entier.
string_of_int
: int
→ string
string_of_int
n convertit l'entier n en une chaîne de caractères : son écriture décimale.
float_of_string
: string
→ float
float_of_string
s convertit la chaîne s en un flottant.
Déclenche l'exception Failure "float_of_string" si s n'est pas l'écriture d'un flottant.
string_of_float
: float
→ string
string_of_float
x convertit le flottant x en une chaîne de caractères : son écriture décimale.
C-3-2. Impressions▲
print_int
: int
→ unit
print_int
n imprime l'entier n.
print_float
: float
→ unit
print_float
x imprime le flottant f.
print_char
: char
→ unit
print_char
c imprime le caractère c.
print_string
: string
→ unit
print_string
s imprime la chaîne de caractères s.
print_endline
: string
→ unit
print_endline
s imprime la chaîne de caractères s et passe à la ligne.
print_newline
: unit → unit
print_newline
() imprime un passage à la ligne.
C-3-3. Du module String▲
String
.length
: string
→ int
String
.length
s donne la longueur de la chaîne s.
String
.create
: int
→ string
String
.create
n crée une nouvelle chaîne de longueur n.
String
.copy
: string
→ string
String
.copy
s crée une copie de la chaîne s.
C-4. Directives▲
#quit : pour quitter l'interprète.
#use <
nom fichier>
: pour charger un fichier contenant des déclarations et expressions à évaluer.