为.net构建静态和动态语言有什么区别?

时间:2011-02-23 14:35:56

标签: .net clr cil dynamic-language-runtime

我是学生,我想为一般目的建立我自己的.net语言,只是为了看它是如何完成的,并学习新的东西。你觉得什么是更好的选择?构建针对CLR的静态语言或在DLR之上构建动态语言?

  1. 构建这两种语言的步骤有何不同?
  2. 有哪些可用于生成扫描程序,解析器和CIL代码的工具?我发现人们推荐使用antlr解析器生成器生成AST,然后将其转换为DLR表达式树,因此您不需要生成CIL代码。

1 个答案:

答案 0 :(得分:1)

我肯定会推荐ANTLR,以及它的书。除非你真的知道你的语法生成,否则你需要参考资料。

我还建议使用ANTLR AST生成CodeDom。您可以使用DLR,具体取决于您想要制作的语言类型。

我在这两条路线上都取得了很大的成功。

我也生成了CIL,它不是很棒但确实有效。把它作为最后的手段。