delphi - 为什么 "for I := 0to aList.Count-1 do"缺少空格也能工作?

标签 delphi compiler-errors

我正在用 Delphi (XE) 编写一个小型控制台应用程序,并且错误地写道:

for I := 0to aList.Count-1 do 

注意“0”和“to”之间缺少空格

直到运行程序后我才注意到这一点,我很惊讶编译器接受了这一点。这可能没什么大不了的,但这让我很好奇。

为什么 Delphi 接受这个拼写错误?

最佳答案

出于同样的原因,您不需要在 .- 周围留有空格。由于 t 永远不会出现在任何可识别标记中的初始 0 之后,因此词法分析器只是将 0 作为整数文字标记返回,然后将 to 识别为不同的关键字标记。如果您犯了不同的错误 - for I := 0 to10 - 您现在就会遇到问题,因为 to10 被识别为有效标识符,这是非法的紧接在 0 之后。

关于delphi - 为什么 "for I := 0to aList.Count-1 do"缺少空格也能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871986/

相关文章:

delphi - 使用delphi打印文本文件所需的帮助

database - 如何使用两台或多台计算机通过网络访问 interbase/firebird 数据库

delphi - DUnit:如何运行测试?

c - “noreturn”函数确实返回

delphi - 将 HResult 转换为实际的错误代码,Delphi

delphi - 在服务器上运行的应用程序,编写XML文件-是否需要成为控制台应用程序?

c - 反转数组时,出现以下错误: invalid operands to binary * (have ‘int’ and ‘int *’ ) [closed]

c++ - 错误 : cannot convert Elem to Elem* for argument 1 to void addHead(Elem*, 元素 *)

build - 在Xamarin Studio中更改build设置,以使丢失的引用不会被解释为错误

php - 在CENTOS 7上编译PHP 7.4.13会出错