public Program(IL.Program program)
 {
     // Copy properties from the base class.
     FunctionList = program.FunctionList.ToList().ConvertAll((IL.Function func) => new Function(func));
     EnvList      = program.EnvList;
     Main         = new Function(program.Main);
 }
Beispiel #2
0
        static public Program Optimize(IL.Program program)
        {
            Program          = program;
            OptimizedProgram = new Program(Program);

            OptimizedProgram = LocalOptimization.Optimize(OptimizedProgram);

            OptimizedProgram = ControlFlow.Core.Optimize(OptimizedProgram);

            TailRecursion.Optimize(OptimizedProgram);

            return(OptimizedProgram);
        }
 static public IL.Program Optimize(IL.Program program)
 {
     Program = program;
     OptimizeAllFunctions();
     return(Program);
 }
 public static Program Optimize(IL.Program program)
 {
     return(new Program(program));
 }