Lexing和Parsing Utilities

我正在寻找不是Flex或Bison的词法分析和解析器生成实用程序。要求: 使用无上下文的LL(*)或GLR语法指定解析器。我也会考虑PEG。 与可用于脚本和应用程序开发的编程语言紧密集成。语言也应该具有易于与C接口的功能。很好的例子是Python,Ruby和Guile。请不要使用C,Java或Perl。我希望语言是同质的;我希望解析器生成器以相同的语言输出代码。 有良好记录和生产质量。 开源。自由也是可取的(虽然不是必需的)。 与Linux发行版或其中一个开源BSD兼容。我会考虑OpenSolaris。 快速发展是一个比效率更大的问题。 适合解析自然语言和正式语言。自然语言解析仅限于短而简单的句子,几乎没有歧义。 我关注ANTLR,虽然我从未使用它。对这种效果的评论表示赞赏。让我知道您最喜欢的实用程序是满足这些要求的,以及为什么要推荐它们。     
已邀请:
这里有一个现代Packrat解析器列表。     
NL文本往往有很多歧义。如果你想解析自然语言,我认为任何经典的编译器类型解析器生成器(LALR,LL [包括ANTLR])都不会对你有所帮助,编译器类型解析器生成器通常根本不处理这个问题。 GLR解析器可以处理歧义,可能有一些用途;野牛提供此选项。     
Guile 2.0(将在几天内发布)有一个LALR(1)解析库。     

要回复问题请先登录注册