0

我有一种特定于领域的语言,我想通过添加新关键字(或一些类似关键字的语法)与 C# 进行交互。使用属性是不够的(我不能在方法体中使用它们),并且将它硬塞进“有效”的 C# 符号中,然后编译成其他东西会很丑陋,并且会破坏与 DSL 的类比(以及类似 DSL 的翻译) C# 的符号很重要,所以每次只写 C# 是不可能的)。

我已经有办法解析 .cs 文件并将其转换为可以编译的合法、重要的 C# 代码。

问题是,即使我可以完成定义 DSL、解析它并将其翻译成有效的 C# 的所有工作,Visual Studio 也不会让我使用它不理解的符号;它只是添加了红色曲线,发出错误“无法解析符号”,然后经常无法正确解析之后的内容。

有没有办法强制 Visual Studio 在其分析中忽略特定字符串?我看过visual studio插件,但看起来,虽然我可以做语法突出显示和其他东西,但我不能强迫它忽略它不知道如何解析的东西(除非我错过了一些方法在扩展 API 中,这当然是可能的)。

我已经浏览了 Roslyn 的东西,也没有看到临时的方法来做到这一点。(同样,可能遗漏了一些东西,它似乎没有很好的文档。)

4

1 回答 1

0

看看 PowerLanguages.E:http: //visualstudiogallery.msdn.microsoft.com/a512e0d0-f4f3-4435-bad4-8d5efbb1db4a

还没有英文文档,抱歉

于 2013-06-23T13:13:43.633 回答