Beispiel #1
0
    public string Compile(string src, Microsoft.Scripting.SourceCodeKind CodeKind =
                          Microsoft.Scripting.SourceCodeKind.Statements)
    {
        if (src == string.Empty)
        {
            Debug.Log("Code is empty");
            return(string.Empty);
        }

        LoadRuntime();

        Source = Engine.CreateScriptSourceFromString(src, CodeKind);

        MemoryStream stream = new MemoryStream();

        //Set IO Ouput of execution
        Engine.Runtime.IO.SetOutput(stream, new StreamWriter(stream));

        Compiled = Source.Compile();

        try {
            Compiled.Execute(Scope);
            return(FormatOutput(ReadFromStream(stream)));
        } catch (Exception ex) {
            return(Engine.GetService <ExceptionOperations>().FormatException(ex));
        }
    }
    /// <summary>
    /// Compile the specified src.
    /// </summary>
    /// <param name="src">Source.</param>
    public string Compile(string src, Microsoft.Scripting.SourceCodeKind CodeKind =
                          Microsoft.Scripting.SourceCodeKind.SingleStatement)
    {
        if (src == string.Empty)
        {
            return(string.Empty);
        }

        LoadRuntime();


        Source = CodeKind == Microsoft.Scripting.SourceCodeKind.SingleStatement ?
                 Engine.CreateScriptSourceFromString(src, CodeKind) :
                 Engine.CreateScriptSourceFromFile(src);

        ErrorHandle errors = new ErrorHandle();

        MemoryStream stream = new MemoryStream();

        //Set IO Ouput of execution
        Engine.Runtime.IO.SetOutput(stream, new StreamWriter(stream));

        Compiled  = Source.Compile(errors);
        Operation = Engine.CreateOperations();

        try {
            Compiled.Execute(Scope);
            return(FormatOutput(ReadFromStream(stream)));
        } catch (Exception ex) {
            return(Engine.GetService <ExceptionOperations>().FormatException(ex));
        }
    }
Beispiel #3
0
        public object PyExecute(string source, Microsoft.Scripting.SourceCodeKind kind = Microsoft.Scripting.SourceCodeKind.Expression)
        {
            Microsoft.Scripting.Hosting.ScriptSource src = default(Microsoft.Scripting.Hosting.ScriptSource);
            src = Engine.CreateScriptSourceFromString(source, kind);
            object res = src.Execute(EngineScope);

            return(res);
        }
Beispiel #4
0
 /// <summary>
 /// Executes the given Python code snippet
 /// </summary>
 /// <param name="source">code snippet</param>
 /// <param name="kind">source code kind</param>
 /// <returns>if kind is Expression, the result is returned. null otherwise</returns>
 public static object PyExecute(string source, Microsoft.Scripting.SourceCodeKind kind)
 {
     return(ipy.PyExecute(source, kind));
 }
 public ScriptSource CreateScriptSourceFromString(string expression, string path, Microsoft.Scripting.SourceCodeKind kind)
 {
     return(engine.CreateScriptSourceFromString(expression, path, kind));
 }