gpt4 book ai didi

delphi - 意外插入空格 - 为什么会编译?

转载 作者:行者123 更新时间:2023-12-03 14:57:04 25 4
gpt4 key购买 nike

我不小心按了空格键,写下了这个:

lTTEvent .CustUpdateStatus := usUnchanged;

并且惊讶地发现编译器接受了点前面的空格(实际上,任意数量的空格)。

点是一个特殊字符,解析器可以正确解释它吗?这在 Pascal 中如何运作?

最佳答案

解析器首先将文本翻译为标记。所以文本:

lTTEvent .CustUpdateStatus := usUnchanged;

转换为标记:

  • 标识符
  • 期间
  • 标识符
  • 成为
  • 标识符
  • 分号

空格是一个空白,它可以具有三个功能:

  • 标记之间的分隔符(例如标识符和关键字之间)。
  • 文字空格(在这种情况下,它包含在字符串中。
  • 化妆品。

第一个和最后一个函数空间在转换为标记时丢失。

标识符和句点没有任何共同字符,因此不可能混淆它们,因此不需要空格,但仍然可以使用。

简短回答

“lTTEvent”和“.”是代币。标记(有时)可以用空格分隔。

关于delphi - 意外插入空格 - 为什么会编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16060185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com