2009-11-03 88 views
3

我已经看过下面的工具软件C++代码:产生BNF语法

ANTLR似乎是最直接的,但其文档缺乏。 Ragel看起来也是可能的,但我没有看到一种简单的方法将BNF转换成它的语法。

还有哪些其他工具可以使用BNF输入并生成相应的,Unicode友好的跨平台独立C++解析器?

非常感谢所有的建议。

编辑:将Objective-C要求更改为C++。

+0

您还应该在选择工具时考虑时间表现。 – sand 2010-01-25 04:24:49

+0

你应该看看:http://stackoverflow.com/questions/1961604/how-much-time-would-it-take-to-write-ac-compiler-using-flex-yacc/ – kyoryu 2010-01-25 07:08:05

回答

5

尝试boost.spirit 2

助推精神用户列表非常活跃,作者的答案很快。

3

TDParseKit! (最具体地说,用BNF语法生成Objective-C语法分析器时的this page

+1

从BNF转换到格式解析器生成器所需的格式通常是一项微不足道的任务,甚至是手动的。 – 2009-11-03 17:58:04

+0

够公平的。彼得,我会再给拉格尔看。 – 2009-11-03 18:47:17

+0

看起来与操作系统相关;该工具应该是跨平台的。 – 2009-12-04 01:39:05

1

你看过QLALR?这是来自QtDF的创意周五项目。我没有亲自尝试过,但巨魔似乎对解决问题的态度很实际,所以我想这也是。

+0

看起来它对Qt有依赖性。 – 2010-01-25 17:06:58

1

你可以试试GOLD Parser!这是解析和生成的好工具。使用简单的用户界面,你需要做的就是提供一个有效的语法文件,并为你的输出代码选择你喜欢的编程语言。