Являются ли операторы и ключевые слова одинаковыми? - PullRequest
0 голосов
/ 22 апреля 2011

Мне было интересно, одинаковые ли операторы или ключевые слова? Если нет, то в чем разница?

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

Ключевые слова - это токены, которые зарезервированы и имеют особое значение в данном языке программирования. Операторы - это ключевые слова, которые могут принимать один или несколько аргументов. Они обычно связаны со стандартными математическими операциями, но, например, new также считается оператором с одним аргументом. Операторы обычно записываются в инфиксной нотации (left [operator] right) и могут быть вложенными (с учетом их приоритета ). Более того, многие языки допускают перегрузку операторов, но не обязательно ключевых слов в целом.

0 голосов
/ 22 апреля 2011

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

http://msdn.microsoft.com/en-us/library/kewsb8ba(v=VS.100).aspx

Такие операторы, как new, обычно считаются «буквенно-цифровыми символами операторов», а не ключевыми словами. Другие примеры sizeof delete throw instanceof

Мне нравится, как ключевые слова определяются и обрабатываются в Smalltalk:

Ключевое слово: это просто идентификатор с двоеточие на конце, например anyIdentifierLikeThis: это {ключевое слово}. В Smalltalk ключевое слово только особенным в том смысле, что он образует "ключевое слово". Это отличный вид токена (отличается от идентификатор или строка), но его смысл как индивидуальный токен не специальный. Некоторые языки имеют {ключевые слова} как НАЧАТЬ и ЗАКОНЧИТЬ встроенные специальные значения. {Ключевое слово} в Smalltalk не такая вещь, это строго синтаксическая форма.

Есть только шесть «ключевых слов», которые зарезервированы в Smalltalk: true, false, nil, self, super и thisContext. Поэтому не все ключевые слова обязательно являются зарезервированными словами в языке.

Ссылка: http://c2.com/cgi/wiki?SmalltalkTutorial

Относительно истинного и ложного:

В некоторых языках, таких как Java, это логические литералы. В c # это и операторы, и литералы. В обоих случаях они не считаются ключевыми словами. В Smalltalk это ключевые слова. Действительно показывает, как все меняется с языка на язык.

Верные и ложные ключевые слова? True Operator / Литерал в C #

0 голосов
/ 22 апреля 2011

+: оператор

new: ключ слово , но также оператор

const: ключевое слово, но не оператор


В общем, «ключевое слово» относится к любым действительным идентификаторам (за исключением некоторых вещей, например, к литералам), которые не могут быть единичными, поскольку они зарезервированы языком. (Идентификатор может быть именем переменной, именем класса, именем пространства имен и т. Д.) Ключевые слова - это ключ words , вот и все. Они могут даже сделать ничего , как ключевое слово Java const.

Оператор - это элемент языка, который делает что-то, например сложение, скобки, new и т. Д. ... это может быть или не быть словом.

...