Quelle est la différence entre un mot clé et un réservé Word?
Par exemple, dans la proposition pour les concepts en C++ , on peut lire la déclaration suivante:
Cette proposition introduit cinq nouveaux mots-clés: concept, carte conceptuelle, où, axiome et vérification tardive. Tous ces mots clés seront également mots réservés.
Les mots-clés ont une signification particulière dans une langue et font partie de la syntaxe.
Mots réservés sont des mots qui ne peuvent pas être utilisés comme identificateurs (variables, fonctions, etc.), car ils sont réservés par la langue.
En pratique, la plupart des mots-clés sont des mots réservés et inversement. Mais comme il s’agit de deux choses différentes, il peut arriver qu’un mot clé ne soit pas un mot réservé (par exemple, un mot clé n’a de sens que dans un contexte particulier et peut donc être utilisé comme identifiant), ou un mot réservé n’est pas un mot clé ( par exemple, car il est réservé pour une utilisation future).
Mise à jour: Quelques exemples donnés par d'autres illustrant la distinction:
goto
est un mot réservé mais pas un mot clé (en conséquence, vous ne pouvez pas l'utiliser du tout)Juste pour montrer que la distinction est très significative:
Dans toutes les langues, tous les mots clés ne sont pas 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, le compilateur peut les interpréter comme des variables.
Un bon exemple de cette distinction est "goto" en Java. Ce n'est pas un mot-clé de langue (c'est-à-dire que ce n'est pas Java valide), mais c'est c'est un mot réservé.
Il semble que les concepteurs Java nous disent "Nous n'utiliserons pas 'goto', et vous non plus".
Le wiki dit ceci: "Un mot clé est un mot 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://en.wikipedia.org/wiki/Reserved_Word#Reserved_Word_vs._keyword
goto
J'imagine que mot-clé est un mot utilisé comme "mot-clé" (comme si, pour, basculer, etc.) alors 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 version future du langage.
En réalité, cela dépendra beaucoup du contexte. Par exemple, la norme ISO C++ dit que des choses comme "if", "while", "int" etc. sont keywords , et n'utilise pas réellement le terme reserved Word , sauf une fois, dans une note de bas de page, où quelque chose d'autre était probablement signifié :-)
La norme spécifie noms réservés - par exemple, tous les noms commençant par un trait de soulignement et une lettre majuscule sont des noms réservés.
Mots-clés: Les mots-clés ont des fonctionnalités spéciales pour le compilateur. Les mots-clés ne peuvent donc pas être utilisés comme identifiants dans le codage . Mots réservés: Les mots de réserve sont les mots réservés pour une utilisation future. En Java, const et goto sont les mots réservés qui ne sont pas utilisés actuellement et qui peuvent être ramenés à Java ultérieurement . Si nous vérifions ici les mots clés du langage Java ( https://docs.Oracle.com/ javase/tutorial/Java/nutsandbolts/_keywords.html ), Il est dit que Java (le dernier, je suppose) a 50 mots-clés, y compris goto et const. Donc, goto et const sont les mots-clés réservés.