基本上我有两个问题:
1) 如何在 C# 应用程序中发出或生成IronPython
代码(工具、库)。这个过程的结果应该是由真实IronPython
代码而不是 IL 代码组成的字符串。
2) 上述方法比IronPython
您自己生成代码有多大好处(只需使用StringBuilder
)?
我正在寻找一些类似于这个 IMAGINARY 伪代码生成器的代码生成器库:
IronPythonCodeGenerator generator = new IronPythonCodeGenerator();
Parameter param = new Parameter("str");
ParameterValue value=new ParameterValue(param,"This piece is printed by the generated code!!!");
Function function = IronPythonCodeGenerator.CreateFunction("PrintExtended",param);
function.AppendStatement("print",param);
function.AppendStatement(Statements.Return);
FunctionCall functionCall = new FunctionCall(function,value);
generator.MainBody.Append(function);
generator.MainBody.Append(functionCall);
Console.WriteLine(generator.MainBody.ToString());
,它输出 IronPython 代码:
def PrintExtended( str ):
print str;
return;
PrintExtended("This piece is printed by the generated code!!!");