加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 04:03:44 所属栏目:大数据 来源:网络整理
导读:是否有Delphi的解析器代码或解析器组件或将接受BNF(Backus-Naur Form)表示法作为输入并生成Delphi(或pascal)代码进行解析的程序? 这样做的原因是我将尝试在各种版本的the GEDCOM standard(用于族谱)之后完美地解析数据集,并且需要在到达令牌时处理从一个州
是否有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写的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读