C#解释语言

时间:2008-12-14 02:11:36

标签: c# parsing interpreted-language

我希望用C#编写一种解释型语言,我应该从哪里开始?我知道如何使用有趣的字符串解析来完成它,但是正确的方法是什么?

3 个答案:

答案 0 :(得分:8)

做正确的事情可能是一项艰难的尝试。

如果你对编译器理论知之甚少,你应该先开始阅读它 只要使用“有趣的字符串解析”,如果我理解这个术语,就不会让你走得太远。

第一个基本步骤是编写定义语言有效语法的语言语法 像ANTLR这样的工具可以帮助你把各个部分拼凑起来,但我建议你阅读Dragon book,因为它是规范起点以加快这个主题的速度。

答案 1 :(得分:3)

如果你想在.NET上构建解释语言,那么DLR就是可行的方法 - 在http://www.iunknown.com/2007/11/lolcode-on-dlr.html查看Martin Maly的LOLCODE样本

编辑:这是另一个链接,其中包含来自Scott Hanselman的更多信息:http://www.hanselman.com/blog/TheWeeklySourceCode11LOLCodeDLREdition.aspx

答案 2 :(得分:0)

从Microsoft查看Phoenix compiler。这将提供构建针对本机或托管环境的编译器所需的许多工具。在这些工具中,我们优化了后端。

我是第二个Cycnus关于阅读Aho Sethi和Ullman的“龙书”(WikipediaAmazon)的建议。

RGR