8

更新:此问题已过时,但仅供参考。

原始问题

自 2002 年以来,我一直在使用相同版本的 bison++ (1.21-8) 和 flex++ (2.3.8-7)。

我现在不是在寻找 LALR(1) 或 GLR 的替代品,只是在寻找最新的选项。有没有人知道这些比不依赖 Cygwin 的原始端口的任何后续端口?

其他人在 Windows 环境中使用什么进行 C++ 编译器开发(除了 ANTLR 或 Boost.spirit)?如果您有第一手经验,商业选择是可以的。我也需要在 Linux 上编译。

更新:当我不了解有关工具建议的政策时,有人问了这个老问题(不确定 2010 年是否存在政策,但无论如何......

从那以后,我更新到具有 GLR 功能的 Bison 3.0,并开始尝试使用它。

我最终决定我的解析器的任何重写都将是递归下降,以改进错误报告并允许在编译器以外的工具中更容易使用,所以现在我将在 Bison 中完成参考版本。我认为此时转换为不同的 PG 工具没什么意义。

4

2 回答 2

2

你可以试试 Elsa(现在它是 Oink 项目的一部分)。但它现在几乎死了。它唯一吸引人的特点是有一个完整而健壮的 C 和 C++ 解析器是在它之上编写的。

LLVM 包含一个相当现代的解析框架。还有一个 C++ 解析器(参见 clang 项目)。

一些 C++ 的 Packrat 实现是可用的,这是解析中最流行的东西。

于 2010-03-13T21:25:18.917 回答
1

我非常喜欢ANTLR。对于严肃的生产应用程序,Boost Spirit 有点“出格”。

于 2010-03-13T21:37:44.803 回答