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