好吧,我对所有的术语和东西都不是很好,但这是我到目前为止创建的:
1:一个逐字符读取源代码文件内容的应用程序。并且;
2:确定字符/字符串“x”是标识符、整数还是其他任何内容的应用。
和 3:另一个将所有内容放在一起的应用程序,并创建另一个文件,该文件基本上包含要发送到我的第 4 个应用程序的说明,基本上是:
Assign the value of Integer oldValue to Integer newValue.
因此,我的第 4 个应用程序收到这条指令,并“编译”它(好吧,在这种情况下,我会说我只想解释它),然后将创建一个应用程序:
int newValue = oldValue;
所以,既然我已经完成了解析器等,我如何将我的指令翻译成导致实际操作的指令,并生成一个 EXE 文件,所以当我双击该文件时,它会执行上述操作行动?
希望这不会让您感到困惑。
所以,基本上,我想我要问的是:“如何以编程方式从字符串创建“事件”,将其保存到文件并生成 exe?”
最佳答案
从指令列表生成 EXE 有多种选择。所有选项都涉及将指令转换为不同语言的元素。
您可以生成C# 源代码 并使用C# 编译器编译结果:System.CodeDom
您可以生成IL 指令并将生成的程序集保存到磁盘:System.Reflection.Emit
您可以构建表达式树而不是生成 IL 指令:System.Linq.Expressions
关于c# - 解析器/词法分析器/编程语言问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5209465/