public string Evaluate ( PftAst ast ) { PftContext copy = Push(); ast.Execute(copy); return(copy.ToString()); }
/// <summary> /// Возможность вычислить значение, /// не выводя его в контекст. /// </summary> /// <param name="context"></param> /// <returns></returns> public string EvaluateUmarci ( PftContext context ) { context = context.Push(); Umarci umarci = new Umarci(context, Group); Statement.Execute(context); string format = context.ToString(); return(umarci.Evaluate(format)); }
/// <summary> /// Вычисление выражения во временной копии контекста. /// </summary> /// <param name="ast"></param> /// <returns></returns> public string Evaluate ( PftAst ast ) { PftContext copy = Push(); ast.Execute(copy); string result = copy.ToString(); Pop(); return(result); }
/// <summary> /// Возможность вычислить значение, /// не выводя его в контекст. /// </summary> /// <param name="context"></param> /// <returns></returns> public string EvaluateUnifor ( PftContext context ) { context = context.Push(); Unifor unifor = new Unifor(context, Group); Statement.Execute(context); string format = context.ToString(); return(unifor.Evaluate(format)); }
/// <summary> /// Вычисление выражения во временной копии контекста. /// </summary> /// <param name="items"></param> /// <returns></returns> public string Evaluate ( IEnumerable <PftAst> items ) { PftContext copy = Push(); foreach (PftAst ast in items) { ast.Execute(copy); } string result = copy.ToString(); Pop(); return(result); }