【发布时间】:2008-10-05 11:07:02
【问题描述】:
我需要一个完整的 Object Pascal 语法(最好是 Delphi 2009)。帮助文件提供了一些语法,但并未提供所有信息。所以我开始收集零散的信息。最近我将这些添加到或多或少完整的语法描述中(类似 EBNF)。
虽然它看起来很广泛,但仍然存在错误,而且我确信缺少某些部分(特别是在 .NET 语法中)。所以我在问 SO Delphi 社区。你有任何信息或者你能纠正错误吗?作为回报,我向社区提供了完整的语法。它可能会为您节省一些时间;-)。 将来,我喜欢对其他语言(如 C#/C++/Java)做同样的事情。
我已经给出了语法描述:My Syntax sofar。或者,如果您喜欢 Text version。 (XHTML 是从文本版本生成的)。
请注意,语法侧重于句法部分,因为词汇部分并不是真正的问题。
更新
我有一个新版本的 Delphi 语法。 html version。它包括所有版本,包括 2009。棱镜扩展仍在待办事项列表中。而且我不确定我是否要把它们放在一起。
对于真正的纯粹主义者,它还包含完整的汇编代码(不支持完整的 100% 英特尔集,但仅遗漏了几条指令。)。
【问题讨论】:
-
你想达到什么目标,即你的最终目标是什么?语法本身并没有多大用处。它是否意味着机器可读(例如用于解析器生成器)?
-
@menjaraz,不,我还没有找到其他资源。但是我几乎已经使用了来自来源、帮助、网站和反复试验的任何信息来完成 XE2 语法。
-
您的 2009 版 Delphi 语法现在已用于 2012 年 2 月发布的 Sonar Delphi 插件中,可在 docs.codehaus.org/display/SONAR/Delphi+Plugin 获得
-
语法非常有用。有一次,大多数有关该语言的书籍都包含语法。这是我开始使用 Delphi 时首先寻找的东西之一。自 1990 年代以来,我没有使用过 Pascal。我不记得 Turbo Pascal 的手册(我记得它在很多方面都很出色)是否包含语法。今天 Embarcadero 在他们的网站上有他们语言的参考,但我找不到语法。 Embarcadero 必须有一个语法,或者接近语法的东西,作为编译器构建的一部分。我希望他们能发布它;这对我有很大帮助。