哪些.NET编程语言具有CodeDom提供程序?

5

除了C#、VB.NET、C++(托管和C++/CLI)和F#之外,哪些.NET编程语言有自己的CodeDom提供程序?

1个回答

3
我曾考虑为UnrealScript制作一个CodeDom,但遇到了一些奇怪的问题,比如CodeBinaryOperatorType没有包括异或操作。在.NET 4中的新表达式树似乎更好地表示了CodeDom应该在块级别(即构成函数体的语句块)提供哪些功能。

我认为我们需要一个新的CodeDom,它采用System.CodeDom的外部部分,并使用System.Linq.Expressions的内部部分。然后使结果能够产生动态程序集或源代码输出。(现在想想,生成编译的程序集实际上与创建一个新的“语言”以输出源代码相同。)

编辑:除此之外,还必须考虑实现CodeModel API,因为很多时候,CodeDom是由某个人将新语言集成到Visual Studio中而实现的。


4
在最近的 Lang.NET 研讨会上,一位语言的创造者抱怨了类似的事情,微软的工程师回答说(半开玩笑):“只要是 C#,CodeDom 就可以表示任何语言。” 他基本上承认了 CodeDom 的失败,并且表明 Expression Trees(或者更确切地说是“Statement” Trees)是未来的发展方向。 - Jörg W Mittag
1
@JörgWMittag:表达式树能用于生成一个完整类的源代码吗? - O. R. Mapper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接