public static VerifiedExpression Parse(string expr, CalcEnvironment env) { if (env == null) { throw new ArgumentNullException(nameof(env)); } var tokenExpr = TokenExpression.Parse(expr); if (tokenExpr.Success) { return(Verifier.VerifyExpression(tokenExpr.BackingArray, env)); } else { return(new VerifiedExpression(tokenExpr.ErrorMessage, tokenExpr.ErrorPosition)); } }
public static VerifiedExpression Create(TokenExpression tokenExpr, CalcEnvironment env) { if (tokenExpr == null) { throw new ArgumentNullException(nameof(tokenExpr)); } if (!tokenExpr.Success) { throw new ArgumentException("Expression must be successfully parsed.", nameof(tokenExpr)); } if (env == null) { throw new ArgumentNullException(nameof(env)); } var arr = tokenExpr.Expression.ToArray(); return(Verifier.VerifyExpression(arr, env)); }