【问题标题】:Is there any advanced compiler-compiler lexer/parser in C#? [closed]C# 中是否有任何高级编译器-编译器词法分析器/解析器? [关闭]
【发布时间】:2016-05-05 14:53:27
【问题描述】:

我想知道是否有任何用 C# 或非 C# 编写的编译器编译器库?

我知道 Antlr 和 JavaCC,但这些库是用 Java 编写的

有没有像 antlr 这样的库,但在 C# 中(或在 C# 中移植)并且开源与否?

谁能介绍一下?

【问题讨论】:

  • 你想编译成什么目标语言?为什么用 C# 编写它很重要——你肯定只关心它是否可以被 C# 使用?你想达到什么目的?
  • 这不是您想要的,但它会引导您朝着正确的方向前进:codeproject.com/Articles/220042/Easily-Create-Your-Own-Parser。我前段时间用 C# 写过这个,但有一段时间没有更新了。
  • 我需要一个词法分析器/解析器来生成像 antlr 这样的任何语法,但是使用 antlr 我需要 java 和 antlr.jar 我不想要这个我想要一个纯 C# 中的词法分析器/解析器
  • ANTLR 4 C# 端口不需要 Java - 请参阅 here。甚至编译都不需要 Java - 它只是加快了进程。
  • @Widi 我知道 Sam 使用了 IKVM,所以这还不是纯 C#

标签: c# parsing lexer compiler-compiler


【解决方案1】:

Irony。不过我自己从来没有用过。

【讨论】:

    【解决方案2】:

    C# 编译器本身是用 C# 编写的,并且与 Roslyn 一起,它已开源。

    https://github.com/dotnet/roslyn

    还有一个 JavaCC 的 C# 端口,但是,它不再维护。作者转而使用 Irony。如果您只是在寻找示例代码,它会这样做。

    https://github.com/deveel/csharpcc

    【讨论】:

    • Roslyn 可以为我创建任何词法分析器和解析器吗?像蚂蚁?还是仅适用于 C# 的词法分析器和解析器?我需要为任何语法创建任何 Lexer 和 Parser
    • @Hamed - 您没有要求使用 C# 编写的词法分析器,而是询问是否有任何用 C# 编写的编译器。我真的不明白写一个新的意义,因为那里已经存在几个,即使它们不在 C# 中
    • 我问过!!! en.wikipedia.org/wiki/Compiler-compiler,我问 C# 中是否有任何编译器编译器库?我提到了两个例子 Antlr 和 JavaCC
    • @Hamed - 抱歉,我将其作为编译器和/或编译器库阅读。
    • @ErikFunkenbusch:你回答了这个问题,然后投票决定将其作为离题结束?真的吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2013-07-28
    • 1970-01-01
    • 2013-10-07
    • 2010-09-09
    • 1970-01-01
    相关资源
    最近更新 更多