“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 42 — #52
i
i
i
i
i
i
i
i
42
2
• La programmation déclarative
d’utiliser beaucoup plus souvent la récursion terminale, ce qui augmente l’efficacité
des programmes récursifs.
2.2.3 La création des valeurs
L’opération de base sur une mémoire consiste à lier une variable avec une valeur que
l’on vient de créer. Nous l’écrivons x i =valeur. Ici x i fait référence directement à une
variable en mémoire (ce n’est pas le nom textuel de la variable dans un programme !) et
valeur fait référence à une valeur, comme 314 ou [1 2 3]. Par exemple, la figure 2.7
montre la mémoire de la figure 2.6 après les deux liens :
x 1 = 314
x 2 = [1 2 3]
L’opération à affectation unique x i =valeur construit valeur dans la mémoire et ensuite
lie la variable x i avec cette valeur. Si la variable est déjà liée, l’opération vérifiera la
compatibilité des deux valeurs. Si elles ne le sont pas, une erreur sera signalée (avec
une exception ; voir section 2.7).
2.2.4 Les identificateurs
Jusqu’ici, nous avons regardé uniquement la mémoire, qui contient des entités
(variables et valeurs) avec lesquelles nous pouvons faire des calculs. Il serait bien
de pouvoir faire référence à une entité en mémoire à partir de l’extérieur de celle-ci.
C’est le rôle des identificateurs. Un identificateur est un nom textuel (une séquence de
caractères) qui fait référence à une entité dans la mémoire. La correspondance entre
identificateurs et variables en mémoire s’appelle un environnement.
Les noms des variables dans le code source d’un programme sont des identificateurs.
Par exemple, la figure 2.9 montre un identificateur « X » (la lettre majuscule X) qui
fait référence à la variable x 1 . L’environnement est {X → x 1 }. Pour parler d’un identificateur quelconque, nous utiliserons la notation x. L’environnement {x → x 1 }
est le même qu’avant si x représente X. Nous verrons que les identificateurs et leurs
variables sont ajoutés à l’environnement par les instructions local et declare.
Précédent

- 57/370

Suivant