51 votes

Quelle est la différence entre "mot-clé" et "mot réservé" ?

Quelle est la différence entre un mot-clé et un mot réservé ?

Par exemple, dans la proposition de concepts en C++, on peut lire la déclaration suivante :

Cette proposition introduit cinq nouveaux mots-clés : concept, concept map, where, axiom et late check. Tous ces mots-clés seront également des mots réservés.

57voto

molf Points 34978

Mots clés ont un sens spécial dans un langage, et font partie de la syntaxe.

Mots réservés sont des mots qui ne peuvent pas être utilisés comme identifiants (variables, fonctions, etc.), car ils sont réservés par le langage.

En pratique, la plupart des mots clés sont des mots réservés et vice versa. Mais parce qu'ils sont deux choses différentes, il peut arriver qu'un mot clé ne soit pas un mot réservé (par exemple, un mot clé a seulement un sens dans un contexte particulier, et peut donc être utilisé comme identifiant), ou qu'un mot réservé ne soit pas un mot clé (par exemple, parce qu'il est réservé pour une utilisation future).

Mise à jour: Quelques exemples donnés par d'autres qui illustrent la distinction:

  • En Java, goto est un mot réservé mais pas un mot clé (en conséquence, vous ne pouvez pas l'utiliser du tout)
  • Fortran n'a aucun mot réservé, tous les mots clés (if, then, etc.) peuvent être utilisés comme identifiants

19voto

Juste pour montrer que la distinction est très significative :

Non dans toutes les langues tous les mots-clés sont des mots réservés. En Fortran, il est possible de faire ceci :

if if then then else else

Dans ce cas, les mots-clés ne sont pas réservés, mais en fonction du contexte, ils peuvent être interprétés par le compilateur comme des variables.

9voto

skaffman Points 197885

Un bon exemple de cette distinction est "goto" en Java. Ce n'est pas un mot-clé du langage (c'est-à-dire que ce n'est pas du Java valide), mais c'est un mot réservé.

Il semble que les concepteurs de Java nous disent "Nous n'allons pas utiliser 'goto', et vous non plus".

5voto

Bhushan Bhangale Points 6284

Wiki dit ceci "Un mot-clé est un mot qui est spécial uniquement dans certains contextes mais un mot réservé est un mot spécial qui ne peut pas être utilisé comme nom défini par l'utilisateur."

http://fr.wikipedia.org/wiki/Mot_réservé#Mot_réservé_vs._mot-clé

1voto

CodeClimber Points 1560

Je suppose que mot-clé est un mot utilisé comme "mot-clé" (comme if, for, switch, etc...) tandis qu'un mot réservé est quelque chose que vous ne pouvez pas utiliser comme nom de variable car il pourrait devenir un mot-clé dans une future version du langage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X