public string Compile(string input, out CompiledMethod compiled)
{
if (input == null || input.Length == 0){
compiled = null;
return null;
}
lock (evaluator_lock){
if (!inited)
Init ();
else
ctx.Report.Printer.Reset ();
bool partial_input;
CSharpParser parser = ParseString (ParseMode.Silent, input, out partial_input);
if (parser == null){
compiled = null;
if (partial_input)
return input;
ParseString (ParseMode.ReportErrors, input, out partial_input);
return null;
}
Class parser_result = parser.InteractiveResult;
compiled = CompileBlock (parser_result, parser.undo, ctx.Report);
return null;
}
}