【问题标题】:C# Interpreted LanguageC# 解释语言
【发布时间】:2008-12-14 02:11:35
【问题描述】:

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

【问题讨论】:

    标签: c# parsing interpreted-language


    【解决方案1】:

    要做到正确可能是一项相当困难的工作。

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

    第一个基本步骤是编写语言语法,定义该语言的有效语法。
    ANTLR 之类的工具可以帮助您将各个部分拼凑起来,但我建议您阅读 Dragon book,因为它是了解该主题的规范起点。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        我赞同 Cycnus 关于阅读 Aho Sethi 和 Ullman 的“龙之书”的建议 (Wikipedia, Amazon)。

        RGR

        【讨论】:

          猜你喜欢
          • 2022-06-27
          • 2011-03-16
          • 1970-01-01
          • 2011-04-09
          • 1970-01-01
          • 1970-01-01
          • 2010-09-06
          • 1970-01-01
          • 2012-03-16
          相关资源
          最近更新 更多