更新:此问题已过时,但仅供引用。
原始问题
自 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 工具没有什么意义。
最佳答案
您可以试试 Elsa(现在它是 Oink 项目的一部分)。但它现在快死了。它唯一吸引人的特点是有一个完整而健壮的 C 和 C++ 解析器是在它之上编写的。
LLVM 包含一个相当现代的解析框架。还有一个 C++ 解析器(请参阅 clang 项目)。
一些 C++ 的 Packrat 实现可用,这是解析中最流行的东西。
关于c++ - Windows 上的 LALR(1) 或 GLR - 当前的 Bison++/Flex++ 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440033/