コード例 #1
0
        static public void LoadAndExecute(string pathFilename, ProtoCore.Core core)
        {
            // Simulate Load and parse DS script
            ProtoCore.DSASM.SymbolTable         symbols = null;
            ProtoAssociative.DependencyPass.AST ast     = new ProtoAssociative.DependencyPass.AST();
            ProtoAssociative.DependencyPass.DependencyTracker optimisedTracker = ast.GetDemoTracker3(out symbols, pathFilename, core);

            // Optimize it
            //Hydrogen.DependencyPass.GraphOptimiser optimiser = new Hydrogen.DependencyPass.GraphOptimiser();
            //optimiser.Execute(optimisedTracker);

            // Generate code after graph optimization pass
            ProtoAssociative.CodeGen codegen = new ProtoAssociative.CodeGen(core);

            codegen.Emit(optimisedTracker);

            //core.executable = codegen.executable;
            ProtoCore.DSASM.Interpreter interpreter = new ProtoCore.DSASM.Interpreter(core);
            interpreter.Run();
        }
コード例 #2
0
ファイル: HydrogenRunner.cs プロジェクト: samuto/designscript
        public static void LoadAndExecute(string pathFilename, ProtoCore.Core core)
        {
            // Simulate Load and parse DS script
            ProtoCore.DSASM.SymbolTable symbols = null;
            ProtoAssociative.DependencyPass.AST ast = new ProtoAssociative.DependencyPass.AST();
            ProtoAssociative.DependencyPass.DependencyTracker optimisedTracker = ast.GetDemoTracker3(out symbols, pathFilename, core);

            // Optimize it
            //Hydrogen.DependencyPass.GraphOptimiser optimiser = new Hydrogen.DependencyPass.GraphOptimiser();
            //optimiser.Execute(optimisedTracker);

            // Generate code after graph optimization pass
            ProtoAssociative.CodeGen codegen = new ProtoAssociative.CodeGen(core);

            codegen.Emit(optimisedTracker);

            //core.executable = codegen.executable;
            ProtoCore.DSASM.Interpreter interpreter = new ProtoCore.DSASM.Interpreter(core);
            interpreter.Run();
        }
コード例 #3
0
ファイル: LiveRunner.cs プロジェクト: maajor/Dynamo
 private bool CompileToSSA(Guid guid, List<AssociativeNode> astList, out List<AssociativeNode> ssaAstList)
 {
     core.Options.GenerateSSA = true;
     core.ResetSSASubscript(guid, 0);
     ProtoAssociative.CodeGen codegen = new ProtoAssociative.CodeGen(core, null);
     ssaAstList = new List<AssociativeNode>();
     ssaAstList = codegen.EmitSSA(astList);
     return true;
 }