src/main/java/com/virgo47/vexpressed/VexpressedUtils.java
@SuppressWarnings("unchecked")
	public static <RT> RT eval(
		String expression, VariableResolver variableResolver, FunctionExecutor functionExecutor)
	{
		ParseTree parseTree = createParseTree(expression);
		return (RT) new ExpressionCalculatorVisitor()
			.withVariableResolver(variableResolver)
			.withFunctionExecutor(functionExecutor)
			.visit(parseTree);
	}
/**
	 * Evaluates the expression using provided {@link VariableResolver} and
	 * {@link FunctionExecutor}. This always parses the expression so it is not
	 * "production-ready" because it is better to cache the parse trees for the
	 * same expression.
	 *
	 * @param <RT> result type
	 */
Evaluates the expression using provided  VariableResolver and
FunctionExecutor. This always parses the expression so it is not
"production-ready" because it is better to cache the parse trees for the
same expression.

@param 
Evaluates the expression using provided VariableResolver and FunctionExecutor . This always parses the expression so it is not " production - ready " because it is better to cache the parse trees for the same expression . @param
@SuppressWarnings("unchecked")
	public static <RT> RT eval(
		String expression, VariableResolver variableResolver, FunctionExecutor functionExecutor)
	{
		ParseTree parseTree = createParseTree(expression);
		return (RT) new ExpressionCalculatorVisitor()
			.withVariableResolver(variableResolver)
			.withFunctionExecutor(functionExecutor)
			.visit(parseTree);
	}
@ SuppressWarnings ( "unchecked" ) public static < RT > RT eval ( String expression , VariableResolver variableResolver , FunctionExecutor functionExecutor ) { ParseTree parseTree = createParseTree ( expression ) ; return ( RT ) new ExpressionCalculatorVisitor ( ) . withVariableResolver ( variableResolver ) . withFunctionExecutor ( functionExecutor ) . visit ( parseTree ) ; }
Evaluates the expression using provided {@link VariableResolver} and
 {@link FunctionExecutor}.
Evaluates the expression using provided { @link VariableResolver } and { @link FunctionExecutor } .