使用Roslyn进行新的语言实现

问题描述 投票:8回答:2

我正在探索如何为.NET平台实现通用/ DSL语言的方法。从我看到的,有几个工具使语言实现(解析源代码)相对容易。反讽,Yacc,ANTLR ......这些项目的问题是有些没有进化,有些生成缓慢的解析器,有些无法在.NET Core CLR等上运行。总有一些障碍推动我解决“编写自己的解析器”。

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

.net visual-studio parsing roslyn
2个回答
4
投票

罗斯林不允许这样做。

看看这个项目:Nitra。它正在积极发展。


7
投票

罗斯林不是这个意思。

Roslyn能够做的最好的事情就是在手工解析语言后生成C#(或VB)语法树和编译,让Roslyn处理类型系统和代码。

如果您的语言可以完全转换为C#(或VB)语法,那么这只会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.