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

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

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

Cette proposition introduit cinq nouveaux mots-clés: concept, concept de la carte, où, axiom, et late check. Tous ces mots-clés seront également les mots réservés.

47
demandé sur Mathieu K. 2009-07-03 15:17:43

10 réponses

mots-clés ont un sens particulier 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.), parce qu'ils sont réservés par le langage.

dans la 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é n'a de sens que dans un contexte spécial, et peut donc être utilisé comme identifiant), ou un mot réservé n'est 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 un mot-clé (en conséquence, vous ne pouvez pas l'utiliser du tout)
  • Fortran a aucun mots réservés, tous les mots clés (si, ensuite, etc.) peuvent être utilisés comme identificateurs
51
répondu molf 2009-07-03 12:21:59

Juste pour montrer que la différence est très significative:

dans toutes les langues, les mots clés ne sont pas tous 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 selon le contexte peut être interprété par le compilateur comme des variables.

17
répondu Ralph M. Rickenbach 2017-08-29 22:27:12

Un bon exemple de cette distinction est "goto" en Java. Ce n'est pas un mot-clé de langue (c.-à-d. Qu'il N'est pas valide Java), mais il un mot réservé.

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

8
répondu skaffman 2009-07-03 11:25:56

Wiki dit ceci "un mot clé est un mot qui est spécial seulement 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

5
répondu Bhushan Bhangale 2009-07-03 11:20:31

je suppose que le mot-clé est un mot utilisé en tant que "mot-clé" (comme si, pour, switch, etc...) alors qu'un mot réservé est quelque chose que vous ne pouvez pas utiliser comme nom de variable parce qu'il pourrait devenir un mot-clé dans une version future de la langue.

1
répondu CodeClimber 2009-07-03 11:20:07
  • mot clé: il a une certaine signification et nous pouvons utiliser dans le programme.
  • mot réservé: nous ne pouvons pas utiliser dans le programme. Ils peuvent être utilisés dans l'avenir. Exemple: goto
1
répondu Sravanthi 2012-02-07 14:09:00

Vraiment ça dépendra beaucoup du contexte. Par exemple, la norme ISO C++ dit que des choses comme "si", "while", "int" etc. mots-clés, et n'utilisent pas le terme mot réservé, sauf une fois, dans une note de bas de page, où quelque chose d'autre était probablement dire :-)

le doe standard 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.

0
répondu 2009-07-03 11:25:43

mots clés: Keywords a des fonctionnalités spéciales pour le compilateur. Donc les mots-clés ne peuvent pas être utilisés comme identificateurs dans le codage. Les mots réservés: Réserve mots sont les mots qui sont 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 peuvent être ramenés à java dans le futur. Si nous vérifions ici les mots clés Java Language (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html) , Il est dit que java (dernier je suppose) a 50 mots clés y compris goto et const. Donc goto et const sont les mots clés qui sont réservés.

0
répondu Kaptan Singh Rana 2016-09-24 15:18:26

mots Réservés et les mots clés sont pour la plupart les mêmes et ils ont des significations définies dans GW-BASIC...ceux-ci ont des utilisations prédéfinies et ne peuvent pas être utilisés ou redéfinis à d'autres fins dans le Basic. Mots-clés ne peuvent pas être utilisés comme nom de variable. Les mots clés de Base...IF,THEN, WHILE etc..

-1
répondu Aqsa Bajwa 2012-10-27 14:12:28

mot clé, - un mot avec une signification particulière dans un particulier contexte. sémantique définition.

mot réservé est un mot qui ne peut pas être utilisé comme un identifiant - comme, variable, et le nom de la fonction. syntaxique définition.

E. G. En Java, tous les mots clés sont des mots réservés. Probablement pas l'inverse. goto est un mot réservé mais pas utilisé et n'a pas fonction.

dans les langues plus anciennes comme FORTRAN il y avait des mots clés mais pas de mots réservés.

cependant, les mots-clés et les mots réservés sont utilisés de façon interchangeable.

-1
répondu Yergalem 2017-06-05 19:46:47