Зарезервированные слова и идентификаторы Delphi

Объявление переменных в Delphi заставило меня задуматься над тем, что я не могу понять.

Вопрос заключается в следующем: при объявлении строк можно заметить, что строка является зарезервированным словом, при объявлении других типов данных, например целых чисел, квалификатор типа данных является не зарезервированным словом, а идентификатором (т. Е. Целое число , заглавная буква говорит так).

Фактически, Delphi позволяет вам перейти к определению Integer , которое, как вы обнаружите, содержится в системном модуле, но является только репрезентативным, поскольку есть комментарий, в котором говорится, что некоторые константы (например, True ), идентификаторы (например, Integer ), функции и процедуры встроены непосредственно в компилятор.

Я не могу понять причины этого выбора.

Может ли кто-нибудь помочь?


Небольшое объяснение разницы между типами string и Integer . Следующий код

type
  Integer = Char;

var
  I: Integer;

begin
  I:= 'A';
  ShowMessage(I);
end;

правильный и работает, как ожидалось, а следующая строка

type
  string = Integer;

дает ошибку времени компиляции.

13
задан kludg 3 January 2012 в 14:59
поделиться