Delphi保留字和标识符

时间:2012-01-03 14:26:19

标签: delphi programming-languages

在Delphi中声明变量让我想到了一件我无法理解的事情。

问题是这样:声明字符串,可以观察到string是保留字,同时声明其他数据类型,比如整数,数据类型限定符不是保留字而是标识符(即{{ 1}},我所说的资本。)

事实上,Delphi允许你转到Integer的定义,你发现它包含在系统单元中,但它只是代表性的,因为有一条注释声明某些常量(如{{ 1}}),标识符(如Integer),函数和过程直接内置于编译器中。

我无法弄清楚这种选择背后的原因。

有人可以帮忙吗?


TrueInteger类型之间差异的一点解释。下一个代码

string

是正确的,并按预期工作,而下一行

Integer

给出编译时错误。

2 个答案:

答案 0 :(得分:7)

据我所知,自Turbo Pascal时代以来,string是一个保留词。所以保持这种方式的原因必须是兼容性。

Pascal - > Turbo Pascal - > Object Pascal - > Delphi的。

检查这些资源。

答案 1 :(得分:4)

string必须是保留字,因为它并非专门用于引用类型System.[Ansi|Unicode]String。如果string是某个内部编译器类型的简单别名,则string[20]将不再起作用。这对Integer来说不是问题,因为Integer总是意味着“类型System.Integer”。