1

我正在寻找用 C# 编写解释型语言,我应该从哪里开始?我知道如何使用有趣的字符串解析来做到这一点,但正确的方法是什么?

4

3 回答 3

8

做正确的事可能是一项相当困难的努力。

如果您对编译器理论没有太多了解,您可能应该首先开始阅读它。
如果我正确理解该术语,仅使用“有趣的字符串解析”根本不会让您走得太远。

第一个基本步骤是编写定义该语言有效语法的语言语法。
ANTLR这样的工具可以帮助您将各个部分组合在一起,但我建议您阅读Dragon 的书,因为它是加快了解该主题的规范起点。

于 2008-12-14T02:31:12.177 回答
3

如果您想在 .NET 上构建解释型语言,DLR 是您的最佳选择 - 请查看 Martin Maly 的 LOLCODE 示例,网址为http://www.iunknown.com/2007/11/lolcode-on-dlr.html

编辑:这是 Scott Hanselman 提供的更多信息的另一个链接:http ://www.hanselman.com/blog/TheWeeklySourceCode11LOLCodeDLREdition.aspx

于 2008-12-14T03:31:17.517 回答
0

查看Microsoft的Phoenix 编译器。这将提供许多您需要的工具来构建针对本机或托管环境的编译器。在这些工具中,我们有一个优化后端。

我支持 Cycnus 关于阅读 Aho Sethi 和 Ullman 的“龙之书”(维基百科亚马逊)的建议。

RGR

于 2008-12-14T03:18:04.220 回答