2011-04-22 5 views

ответ

0

+: оператор

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

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


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

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

+0

@Downvoter: Mind комментирует? – Mehrdad

+0

Я думаю, вы редактировали? Я проигнорирован, потому что новый - это как ключевое слово, так и оператор. – manojlds

+0

@manojlds: Ах, да, я ... Я быстро ответил на это, а затем исправил детали через минуту, извините. xD – Mehrdad

0

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

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

Операторы, как новые, как правило, рассматриваются как «буквенно-цифровых символов оператора», а не ключевых слов. Другими примерами являются sizeofdeletethrowinstanceof

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

Ключевое слово: это просто идентификатор с двоеточие на конце его, например, anyIdentifierLikeThis: {{ключевое слово}. В Smalltalk ключевое слово является только особенным в том смысле, что оно образует сообщение «ключевое слово» . Это отдельный токен (отличный от идентификатора или строки ), но его значение в качестве индивидуального токена не является особенным. Некоторые языки имеют {ключевые слова}, такие как BEGIN и END с встроенными специальными значениями. {Ключевое слово} в Smalltalk - это не такая штука, это строго синтаксическая форма.

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

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

Что касается истинного и ложного:

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

Are true and false keywords? True Operator/Literal in C#

+0

* const * не оператор, а ключевое слово. – Mehrdad

+0

Да, вы правы. О чем я только думал! – manojlds

+0

О, что ?! вы изменили свой ответ, но я все еще не могу удалить свой downvote ... haha ​​дайте мне знать, если вы измените его снова, чтобы я мог это сделать :) – Mehrdad

2

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

+2

Операторы записываются в инфиксной нотации только на языках, которые его используют. –

+1

Ключевые слова не могут иметь никакого значения, например, '' const''. : P – Mehrdad

+0

@Ignacio Разве вы не заметили «обычно» часть? –

Смежные вопросы