В чем разница между "ключевым словом" и "зарезервированным словом"?

в чем разница между ключевое слово и зарезервированное слово?

например,предложение концепций в C++ можно прочитать следующее заявление:

это предложение вводит пять новых ключевых слов: концепция, концептуальная карта, где, аксиома и поздняя проверка. Все эти ключевые слова будут зарезервированные слова.

10 ответов


ключевые слова имеют особое значение в языке и являются частью синтаксиса.

зарезервированные слова - это слова, которые нельзя использовать в качестве идентификаторов (переменных, функций и т. д.), потому что они зарезервированы языком.

на практике большинство ключевых слов являются зарезервированными словами и наоборот. Но ведь это две разные вещи, может случиться так, что ключевое слово не является зарезервированным словом (например, слово имеет смысл только в определенном контексте, и поэтому может использоваться как идентификатор), или зарезервированное слово не является ключевым словом (например, потому что оно зарезервировано для будущего использования).

Update: некоторые примеры, приведенные другими, которые иллюстрируют различие:

  • В Java, goto - Это зарезервированное слово, но не ключевое слово (как следствие, вы не можете использовать его на всех)
  • Фортран имеет нет зарезервированные слова, все ключевые слова (if, then и т. д.) может быть использован в качестве идентификаторы

просто чтобы показать, что различие очень значимо:

Не во всех языках все ключевые слова зарезервированы. В Fortran можно сделать следующее:

if if then then else else

в этом случае ключевые слова не зарезервированы, но в зависимости от контекста могут интерпретироваться компилятором как переменные.


хорошим примером этого различия является "goto" в Java. Это не ключевое слово языка (т. е. это недопустимая Java), но это is зарезервированное слово.

кажется, что дизайнеры java говорят нам: "мы не будем использовать"goto", и Вы тоже".


Wiki говорит следующее: "ключевое слово-это слово, которое является особенным только в определенных контекстах, но зарезервированное слово-это специальное слово, которое не может использоваться как пользовательское имя."

http://en.wikipedia.org/wiki/Reserved_word#Reserved_word_vs._keyword


Я думаю, ключевое слово-это слово, используемое как "ключевое слово" (например, if, for, switch и т. д...) в то время как зарезервированное слово-это то, что вы не можете использовать в качестве имени переменной, потому что оно может стать ключевым словом в будущей версии языка.


  • Ключевое слово: оно имеет некоторое значение и мы можем использовать в программе.
  • зарезервированное слово: мы не можем использовать в программе. Они могут быть использованы в будущем. Пример: goto

действительно, это будет зависеть от контекста. Например, стандарт ISO C++ говорит, что такие вещи, как "if", "while", "int" и т. д. are ключевые слова, и фактически не использует термин зарезервированное слово, за исключением одного раза, в сноске, где, вероятно, подразумевалось что-то еще: -)

стандартное doe указывает зарезервированные имена - например, все имена, начинающиеся с подчеркивания и заглавной буквы зарезервированы имена.


Keywords: Keywords имеет некоторые специальные функции для компилятора. Так что ключевые слова не могут использоваться в качестве идентификаторов в программировании. Зарезервированные слова: зарезервированные слова-это слова, которые зарезервированы для будущего использования. В java const и goto-это зарезервированные слова, которые не используются в настоящее время и могут быть возвращены на java в будущем. Если мы проверим здесь ключевые слова языка Java (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html), он говорит, что java (последнее, я думаю) имеет 50 ключевых слов, включая goto и const. Таким образом, goto и const-это ключевые слова, которые зарезервированы.


зарезервированные слова и ключевые слова в основном одинаковы, и они имеют заранее определенные значения в GW-BASIC...они имеют заранее определенные виды использования и не могут быть использованы или повторно определены для каких-либо других целей в Basic. Ключевые слова нельзя использовать в качестве имени переменной. Некоторые из ключевых слов Basic...IF, THEN, WHILE etc..


ключевое слово, - слово со специальным значением в конкретном контекст. Это семантический определение.

зарезервированное слово - это слово, которое нельзя использовать как идентификатор - например, имя переменной и функции. Это синтаксические определение.

Е. Г. В Java, все ключевые слова являются зарезервированными словами. Возможно, не наоборот. goto является зарезервированным словом, но не используется и не имеет функция.

в более старых языках, таких как FORTRAN, были ключевые слова, но не зарезервированные слова.

однако ключевое слово и зарезервированное слово используются взаимозаменяемо.