用C#创建编程语言

时间:2011-11-05 10:29:02

标签: c# programming-languages

首先,我想要一种编程语言来实现该语言与我的应用程序环境之间的交互。我写了一些只知道ifvoidfunction的变量及其范围的变量,当然还调用了内置函数,它们都能完美地工作。但现在,我坚持使用一些部分并意识到我不能继续进行简单的文本解析,而且还有很多我不能做的事情。

为此,我搜索了这个主题并获得了Creating programming language using C#。这很好,但我有两个问题。

  1. 我无法理解。
  2. 它会生成控制台代码,但我想在Windows窗体应用程序中使用它们。
  3. 简而言之,有没有人知道如何在不了解Lexers,思考的情况下制作语言......

    感谢。

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

我不确定我是否真的理解你的问题。

这是您的计划的延伸吗?用C#编写的库函数集合?

或者您在C#中编写解释器的完全独立的语言? (这是我猜的)

如果是后者,在过去的好日子里,我会指向Lex / Yacc(GIYF)。

现在,我只能说是ANTLR。查看Five minute introduction to ANTLR 3ANTLR v3 C# Code generator and Runtime library

只需在此页面上查看IDE的屏幕截图

enter image description here

enter image description here

答案 2 :(得分:1)

创建自己的语言是可能的,但非常具有挑战性。没有词法分析器之类的东西你就做不好。

创建自己的语言也会迫使您的客户学习另一种语言,而且这种推定语言不会存在现存的第三方代码或库。

另一种方法是嵌入现有语言并通过它来展示您的应用程序的功能。 Python是嵌入的一个非常常见的选择,但还有许多其他选项。我强烈建议您为此任务考虑嵌入现有语言而不是发明自己的语言。