代码之家  ›  专栏  ›  技术社区  ›  user1498611

使用Roslyn实现新的语言

  •  12
  • user1498611  · 技术社区  · 10 年前

    我正在探索如何为.NET平台实现通用/DSL语言。从我所看到的,有几种工具使语言实现(解析源代码)相对容易。 讽刺 , Yacc公司 , 安特尔 这些项目的问题是,有些项目没有发展,有些项目生成的解析器速度慢,有些项目无法在.NETCoreCLR上运行等等。

    所以我想知道 是否可以编写自己的解析器并将其与Roslyn连接/集成? 是否有任何书籍、教程或示例可以完成?

    3 回复  |  直到 7 年前
        1
  •  7
  •   SLaks    10 年前

    罗斯林不适合这样。

    使用Roslyn所能做的最好的事情就是生成一个C#(或VB)SyntaxTree&手工解析语言后进行编译,让Roslyn负责类型系统&代码生成。

    只有当您的语言可以完全转换为C#(或VB)语法时,这才有效。

        2
  •  4
  •   Memoizer    10 年前

    罗斯林不允许这样做。

    看看这个项目: Nitra . 它正在积极开发中。

        3
  •  1
  •   quelbe    5 年前

    我知道这是一个旧线程,但你最好的选择(至少在visual studio中)是创建一个IVsSingleFileGenerator,将代码转换为c#或其他Roslyn语言。

    推荐文章