Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="program"></param>
        /// <param name="target"></param>
        /// <param name="erd"></param>
        ///  only used this to report error, local errors which are genereaed during searching should not use this

        /// <param name="r"></param>
        /// <returns></returns>
        public static MemberDecl FindAndApplyTactic(Program program, MemberDecl target, ErrorReporterDelegate erd, Resolver r = null)
        {
            Contract.Requires(program != null);
            Contract.Requires(target != null);
            Stopwatch watch = new Stopwatch();

            watch.Start();
            _i = new Interpreter(program);
            _errorReporterDelegate = erd;

            var result = _i.EvalTacticApplication(target, r);

            var p = new Printer(Console.Out);

            p.PrintMembers(new List <MemberDecl>()
            {
                result
            }, 0, "");

            watch.Stop();
            Console.WriteLine("Time Used: " + watch.Elapsed.TotalSeconds.ToString());

            _errorReporterDelegate = null;
            return(result);
        }
Ejemplo n.º 2
0
    /// <summary>
    /// 
    /// </summary>
    /// <param name="program"></param>
    /// <param name="target"></param>
    /// <param name="erd"></param>
    ///  only used this to report error, local errors which are genereaed during searching should not use this

    /// <param name="r"></param>
    /// <returns></returns>
    public static MemberDecl FindAndApplyTactic(Program program, MemberDecl target, ErrorReporterDelegate erd, Resolver r = null) {
      Contract.Requires(program != null);
      Contract.Requires(target != null);
      Stopwatch watch = new Stopwatch();
      watch.Start();
      _i = new Interpreter(program);
      _errorReporterDelegate = erd;

      var result = _i.EvalTacticApplication(target, r);

      var p = new Printer(Console.Out);
      p.PrintMembers(new List<MemberDecl>() { result }, 0, "");

      watch.Stop();
      Console.WriteLine("Time Used: " + watch.Elapsed.TotalSeconds.ToString());

      _errorReporterDelegate = null;
      return result;
    }