我正在寻找除了Flex或Bison之外的词法分析和解析器生成实用程序。要求如下:
- 使用上下文无关的LL(*)或GLR语法规定解析器。我也会考虑PEG。
- 与一种编程语言紧密集成,可用于脚本编写和应用开发。该语言还应具有便于与C进行接口的功能。很好的例子是Python、Ruby和Guile。不要使用C、Java或Perl。我希望语言是同质的;我想让解析器生成器输出相同语言的代码。
- 文档完善且达到生产级别。
- 开源。免费也是可取的(尽管不是必需的)。
- 兼容Linux发行版或其中一个开源BSD。我会考虑OpenSolaris。
- 快速开发比效率更重要。
- 适用于解析自然语言以及形式语言。自然语言解析仅限于短小简单的句子,几乎没有歧义。
我已经留意了ANTLR,尽管我从未使用过。欢迎提供相关评论。请告诉我您最喜欢的符合这些要求的实用程序,并说明为什么会推荐它们。