【问题标题】:Is there a modern ( e.g. CLR ) replacement for bison / yacc?bison / yacc 是否有现代(例如 CLR)替代品?
【发布时间】:2008-11-06 16:07:40
【问题描述】:

我刚刚重新编写了一些使用 bison 编写的类似编译器的旧代码。当我这样做的时候,我想知道现代的等价物是什么?是否有一个不错的 .NET(或类似)编译器编写框架,它采用 BNF 语法并拆分出一个进行解析的 DLL?

【问题讨论】:

  • 您可以使用其他人指出的 ANTLR,但我看不到 Bison 的问题。此外,它仍在积极维护中。

标签: bison


【解决方案1】:

还有ANTLR,一个使用非常广泛的解析器生成器,用Java实现。

【讨论】:

  • ..顺便说一句,它支持 C# 作为目标。
【解决方案2】:

我在自己的动态语言解释器中使用 Gardens Point GPPG 和 GPLEX。 GPPG 和 GPLEX 已被 Microsoft 采用为 Visual Studio 200x SDK 中的 MPPG 和 MPLEX。这意味着为您的语言的语法着色创建 Visual Studio 语言扩展非常容易。

【讨论】:

    【解决方案3】:

    查看 Gardens Point 解析器生成器。这是一个类似 YACC/BISON 的 C# 实现

    GPPG

    【讨论】:

      【解决方案4】:

      我推荐Coco/R。它与 JavaCC 非常相似。支持 C#、Java、C++、F#、VB.Net、Oberon 和其他语言。

      【讨论】:

        【解决方案5】:

        通过谷歌快速搜索找到了Gardens Point Parser Generator

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-23
          • 2017-03-25
          • 2010-09-13
          • 2013-01-29
          • 2011-01-19
          • 2020-06-11
          • 1970-01-01
          相关资源
          最近更新 更多