lke*_*ler 8 delphi parsing code-generation bnf gedcom
是否有Delphi的解析器代码或解析器组件或将接受BNF(Backus-Naur Form)表示法作为输入并生成Delphi(或pascal)代码进行解析的程序?
这样做的原因是我将尝试在GEDCOM标准的各种版本(用于家谱)之后完美地解析数据集,并且需要在达到令牌时处理从一个州到另一个州的文件.我更喜欢一个自动程序来完成设置基本pascal代码的粗略工作,为我做状态处理.
否则,我将不得不自己手动构建状态结构.
我确实看到了以下问题(并且TinyPG看起来很好,但我需要Delphi代码): 解析器生成器,在给定BNF语法的情况下输出C#?
如果没有这样的野兽,是否还有其他工具可以使这项任务更容易?
我建议你使用GOLD解析系统.GOLD语法基于Backus-Naur形式和正则表达式.
资源
引擎
这里特别列出了Delphi的引擎.
这一个对Object Pascal的由罗布凌科可能会感兴趣.
引用:
Rob van den Brink更新了Object Pascal编程语言的引擎.他的实现使用程序模板来创建一个功能齐全的程序.此方法将解析表直接嵌入源代码中.因此,您无需加载Compiled Grammar Table文件.下载包含一个程序模板以及几个示例.
使用GOLD的示例项目
GOLD很强大,它被用作dcu2pas的解析引擎,这是一个Delphi Compiled Unit(dcu文件)反编译器,它在这里托管(bitbucket.org).请注意,它是用d写的.