我希望用C#编写一种解释型语言,我应该从哪里开始?我知道如何使用有趣的字符串解析来完成它,但是正确的方法是什么?
答案 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的“龙书”(Wikipedia,Amazon)的建议。
RGR