解析器/词库/编程语言问题

5 .net c# dom codedom winforms

好吧,所以我对所有条款和内容都不满意,但这是我迄今为止所创造的内容:

1:一个应用程序,逐个字符地读取源代码文件的内容.和;

2:确定字符/字符串'x'是标识符,整数还是其他内容的应用程序.

和3:另一个将它们放在一起的应用程序,并创建另一个文件,基本上包含要发送到我的第4个应用程序的指令,基本上是这样的:

将Integer oldValue的值分配给Integer newValue.

所以,然后我的第四个应用程序接收到这个指令,并"编译"它(好吧,在这种情况下,我会说我只想解释它),然后创建一个应用程序:

int newValue = oldValue;
Run Code Online (Sandbox Code Playgroud)

因此,由于我已经完成了解析器等,我如何将我的指令转换为导致实际操作的指令,并生成一个EXE文件,所以当我双击该文件时,它将执行上述操作?

我希望这不会让你感到困惑.

所以,基本上,我想我要问的是:"我如何以编程方式从字符串创建"事件",将其保存到文件并生成exe?"

Chr*_*lor 0

当涉及到编译阶段时,您最好是使用Reflection Emit API来发出 .NET IL 并生成 EXE 和 DLL。

我不会在这里详细介绍所有内容,而是向您推荐以下 MSDN 文章“为 .NET Framework 创建语言编译器”,其中包含应该对您有所帮助的示例代码。

另一种选择包括生成 C# 代码并使用CodeDOM将代码编译为 EXE,这将利用 C# 编译器作为代码生成和最终二进制生成之间的中间步骤。