微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

生成将使用给定BNF格式解析文件的Delphi代码

是否有Delphi的解析器代码或解析器组件或将接受BNF(Backus-Naur Form)表示法作为输入并生成Delphi(或pascal)代码进行解析的程序?

这样做的原因是我将尝试在各种版本的the GEDCOM standard(用于族谱)之后完美地解析数据集,并且需要在到达令牌时处理从一个州到另一个州的文件.我更喜欢一个自动程序来完成设置基本pascal代码的繁琐工作,为我做状态处理.

否则,我将不得不自己手动构建状态结构.

我确实看到了以下问题(和TinyPG看起来不错,但我需要Delphi代码):
Parser-generator that outputs C# given a BNF grammar?

如果没有这样的野兽,是否还有其他工具可以使这项任务更容易?

解决方法

我推荐你 GOLD解析系统. GOLD语法基于Backus-Naur形式和正则表达式.

资源

> gold-parser
> Wikipedia entry page
> Yahoo group

引擎

德尔福的发动机特别列于here.

Rob van den Brink的one对象Pascal可能会引起人们的兴趣.

引用:

Rob van den Brink updated his engine for the Object Pascal Programming
Language. His implementation uses a program template to create a
full-functioning program. This approach embeds the parse tables
directly in the source code. As a result,you do not need to load a
Compiled Grammar Table file. The download contains a program template
as well as several examples.

使用GOLD的示例项目

GOLD很强大,它被用作dcu2pas的解析引擎,这是一个Delphi编译单元(dcu文件)反编译器,它是托管here(bitbucket.org).请注意它是在d写的.

原文地址:https://www.jb51.cc/delphi/102275.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐