В принципе у меня есть два вопроса:испуская IronPython код в C#
1) Как испускать или генерировать IronPython
код (инструменты, ЛИЭС) в C# приложение. Результатом этого процесса должна быть строка, состоящая из реального кода IronPython
, а не кода IL.
2) Насколько полезен подход выше над генерированием кода IronPython
по собственному усмотрению (просто используя StringBuilder
)?
Я ищу какую-то библиотеку генератора кода аналогична воображаемый псевдо генератор кода:
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!!!");
Существует модуль [Reflector plugin] (http://ipreflector.codeplex.com/) для генерации кода IronPython от IL. Отражатель, если вы не знаете, это программа, которая декомпилирует сборки .NET. – Icemanind
Могу ли я получить обратную связь, что не так с этим вопросом? – algorytmus