Oz CocoR Delphi
1.0.0
可可/R是一个编译器生成器,它采用源语言的属性语法,并为此语言生成扫描仪和解析器。该扫描仪是确定性的有限自动机。解析器使用递归下降。 LL(1)可以通过多符号LookAhead或语义检查来解决冲突。因此,接受语法的类别是任意k的ll(k)。
很长一段时间以来,我一直使用Coco / R的涡轮Pascal版本。有时有必要更改代码。如果来源更改,我将其重新编译。但是经过一些Windows更新后,我发现Turbo Pascal去了一个更好的地方并停止跑步。总的来说,我认为许多人的语言来自尼克劳斯·埃米尔·维斯(Niklaus Emil Wirth)引起的不喜欢。
总的来说,我认为很少有这样的人对编程和计算机科学语言的发展做出了可比的贡献。
很容易找到解决问题的复杂且经常难以理解的解决方案。很难做出简单,干净和可理解的解决方案。
当您看到这样的决定时,很明显,这是带有大写字母的大师的工作。首先,我从Turbo Pascal移植了代码。但是我发现,近20年来,大量水在桥下流动,可可/R代码也得到了很好的改进。
我发现的最后一个版本是C ++,C#,Java。然后,我决定移植代码,然后选择C#。在精神上,这是最接近德尔福的语言,这可能是由于他们有一位首席建筑师。
您可以在Protobuf-Delphi项目中看到一个使用示例。
它应该为扫描仪使用相同的框架和不同语言的解析器。编译器依靠扫描仪和解析器的相当固定的框架结构。不希望更改部分的顺序,因为这可能会导致生成的代码中的汇编错误。
Cocor.exe -namespace Taste -checkEOF -trace AG taste.atg.
生成模块名称时使用名称空间。现在在扫描仪和解析器框架中使用。
MACROS
prefix = "cr" .