Форум Статьи Контакты
Строительство — возведение зданий и сооружений, а также их капитальный и текущий ремонт, реконструкция, реставрация и реновация.

Зарезервированное слово

Дата: 22-04-2022, 01:00 » Раздел: Статьи  » 

Зарезервированное слово (или ключевое слово) — в языках программирования слово, имеющее специальное значение. Идентификаторы с такими именами запрещены.

В лексическом анализе зарезервированное слово фигурирует как одна лексема особого типа.

Примеры

  • В Паскале нельзя создать переменную const — это слово предназначено для задания констант.
  • В Ассемблере для x86 в качестве идентификаторов запрещены имена регистров (ax, di); методы адресации (near, far) и т. д.

Директива

Директива — слово, которое является зарезервированным исключительно в своём контексте; идентификаторы с такими именами вполне возможны. В Паскале директивами являются слова read, write, forward, near, far и некоторые другие.

Например, в коде

property XXX : integer read fXXX write SetXXX;

read и write являются директивами, в отличие от идентификатора write в коде

write(x); // вызывается функция System.Write, выводящая x в консоль

Зарезервированные слова и языконезависимая спецификация

Зарезервированные слова представляют определённую проблему при переводе текста с языка на язык (а иногда даже с компилятора на компилятор) и при написании ПО, разные части которого написаны на разных языках — может случиться, что на языке А будет создан идентификатор, который является зарезервированным словом языка Б и поэтому он окажется недоступным. Обычно стараются избегать слов, которые в каком-либо из широко известных языков являются зарезервированными. Впрочем, бывает, что при расширении языка слово из разрешённого переходит в зарезервированное. Вот несколько способов решения этой проблемы.

  • Венгерская нотация и другие подобные способы именования переменных делают идентификаторы заведомо отличающимися от ключевых слов любого языка.
  • .NET требует, чтобы все совместимые языки позволяли каким-либо образом задавать идентификатор, совпадающий с ключевым словом. Например, в C# слово this является зарезервированным, а @this — идентификатором.
  • Похожим образом поступили во встроенном ассемблере Паскаля: eax — зарезервированное слово (название регистра), &eax — идентификатор.
  • В Си все нестандартные (производителе- и платформозависимые) зарезервированные слова начинаются с двух знаков подчёркивания. Например, в C Builder может быть такая запись:
__fastcall int DoSomething(int x) В данном случае платформозависимое зарезервированное слово __fastcall (см. Соглашение о вызове) пишется с двумя знаками подчёркивания.
  • В Embarcadero Delphi можно как угодно переименовать функцию, импортированную из DLL, избежав пересечения.

(голосов:0)

Пожожие новости
Комментарии

Ваше Имя:   

Ваш E-Mail: