В чем разница между "ключевым словом" и "зарезервированным словом"?
Какая разница между ключевым словом и зарезервированным словом?
Например, в предложении для концепций в С++ можно прочитать следующее утверждение:
В этом предложении представлены пять новых ключевых слов: концепция, концепция карты, где, аксиома и поздняя проверка. Все эти ключевые слова также будут зарезервированные слова.
Ответы
Ответ 1
Ключевые слова имеют особое значение в языке и являются частью синтаксиса.
Зарезервированные слова - это слова, которые нельзя использовать в качестве идентификаторов (переменные, функции и т.д.), потому что они зарезервированы языком.
На практике большинство ключевых слов являются зарезервированными словами и наоборот. Но поскольку это две разные вещи, может случиться, что ключевое слово не является зарезервированным словом (например, ключевое слово имеет смысл только в специальном контексте и поэтому может использоваться как идентификатор), либо зарезервированное слово не является ключевым словом ( например, потому что он зарезервирован для использования в будущем).
Обновление: некоторые примеры, представленные другими, которые иллюстрируют различие:
- В Java
goto
зарезервированное слово, но не ключевое слово (как следствие, вы не можете использовать его вообще)
- В Fortran есть зарезервированные слова нет, все ключевые слова (if, then и т.д.) могут использоваться как идентификаторы
Ответ 2
Просто чтобы показать, что различие очень значимо:
На всех языках все ключевые слова зарезервированы. В Fortran это можно сделать:
if if then then else else
В этом случае ключевые слова не зарезервированы, но в зависимости от контекста могут быть интерпретированы компилятором как переменные.
Ответ 3
Хорошим примером этого различия является "goto" на Java. Это не ключевое слово языка (то есть оно не является допустимым Java), но это зарезервированное слово.
Кажется, что разработчики java говорят нам: "Мы не будем использовать" goto ", и вы тоже".
Ответ 4
Wiki говорит об этом "Ключевое слово - это слово, которое является особым только в определенных контекстах, но зарезервированное слово - это специальное слово, которое нельзя использовать в качестве определяемого пользователем имени".
http://en.wikipedia.org/wiki/Reserved_word#Reserved_word_vs._keyword
Ответ 5
Я думаю, что ключевое слово - это слово, используемое как "ключевое слово" (например, if, for, switch и т.д.), в то время как зарезервированное слово - это то, что вы не можете использовать как имя переменной, поскольку оно может стать ключевым словом в будущей версии язык.
Ответ 6
- Ключевое слово: оно имеет некоторый смысл, и мы можем использовать его в программе.
- Зарезервированное слово: мы не можем использовать в программе. Они могут использоваться в будущем.
Пример:
goto
Ответ 7
Действительно, это будет сильно зависеть от контекста. Например, стандарт ISO С++ говорит, что такие вещи, как "if", "while", "int" и т.д., Являются ключевыми словами, и на самом деле не используют термин зарезервированное слово, за исключением одного раза, в сноске, где, вероятно, подразумевалось что-то еще: -)
Стандартная doe указывает зарезервированные имена - например, все имена, начинающиеся с символа подчеркивания и заглавной буквы, являются зарезервированными именами.
Ответ 8
Ключевые слова: Ключевые слова имеют некоторые специальные функции для компилятора. Таким образом, ключевые слова не могут использоваться в качестве идентификаторов при кодировании.
Зарезервированные слова: зарезервированные слова - это слова, зарезервированные для будущего использования. В java const и goto являются зарезервированными словами, которые в настоящее время не используются и могут быть возвращены в java в будущем.
Если мы проверим здесь ключевые слова Java Language (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html), в нем говорится, что java (последнее, как мне кажется) имеет 50 ключевых слов, включая goto и const. Таким образом, goto и const являются ключевыми словами, которые зарезервированы.
Ответ 9
Зарезервированные слова и ключевые слова в основном одинаковы, и они имеют заранее определенные значения в GW-BASIC
... они имеют предопределенные виды использования и не могут использоваться или переопределены для каких-либо других целей в Basic. Ключевые слова нельзя использовать как имя переменной. Некоторые ключевые слова Basic являются... IF
, THEN
, WHILE
и т.д.
Ответ 10
ключевое слово, - слово со специальным значением в конкретном контексте. Это семантическое определение.
зарезервированное слово - это слово, которое нельзя использовать в качестве идентификатора - такие как имя переменной и имя функции. Это синтаксическое определение.
Например, в Java все ключевые слова являются зарезервированными словами. Наверное, не наоборот. goto зарезервированное слово, но не используется и не имеет функции.
В более старых языках, таких как FORTRAN, были ключевые слова, но не зарезервированные слова.
Однако ключевое слово и зарезервированное слово используются взаимозаменяемо.