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

前端之家收集整理的这篇文章主要介绍了生成将使用给定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写的.

猜你在找的Delphi相关文章