我正在寻找不是 Flex 或 Bison 的词法分析和解析器生成实用程序。要求:
- 使用上下文无关的 LL(*) 或 GLR 语法指定解析器。我也会考虑 PEG。
- 与可用于脚本和应用程序开发的编程语言紧密集成。语言还应该具有与 C 轻松交互的功能。Python、Ruby 和 Guile 就是很好的例子。请不要使用 C、Java 或 Perl。我希望语言是同质的;我希望解析器生成器以相同的语言输出代码。
- 有据可查和生产质量。
- 开源。免费也是可取的(尽管不是必需的)。
- 与 Linux 发行版或开源 BSD 之一兼容。我会考虑 OpenSolaris。
- 快速发展是一个比效率更重要的问题。
- 适合解析自然语言和形式语言。自然语言解析仅限于简短、简单的句子,几乎没有歧义。
虽然我从未使用过它,但我关注的是 ANTLR。对此效果的评论表示赞赏。让我知道您最喜欢的满足这些要求的实用程序是什么,以及您推荐它们的原因。