你知道一个语法解析器模块(用Ruby,Python,Javascript编写......),给定一个令牌列表和一个EBNF一样的语法(作为一个简单的字符串传递),返回解析树?我发现的最接近的是SimpleParse,这是一个很好的库,但不幸的是它使用了单步解析(没有标记化)。如果可能的话,我宁愿不使用其中实现与语言本身纠缠在一起的库(pyparsing,treetop,...)。
我并不担心lexing / tokenization,因为有很多库可用(甚至编写自己的库也很简单),但实现ENBF解析器并不是一项简单的任务。我已经检查了Python wiki LanguageParsing并测试了其中一些无效(也许我忽略了我正在寻找的那个,有这么多......)