public static Delegate Parse(string input)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Parse(input));
        }
        public static IExpressionParser Using(IDictionary <Type, string> typeMap)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(typeMap));
        }
        public static IExpressionParser Using(Type type, string alias = null)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(type, alias));
        }
        public static IExpressionParser Using(IEnumerable <Type> types)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(types));
        }
        public static Expression <Func <TInput, TOutput> > ParseExpressionFor <TInput, TOutput>(string input, string parameterName = null)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(new[] { typeof(TInput), typeof(TOutput) }).ParseExpressionFor <TInput, TOutput>(input, parameterName));
        }
        public static Expression <Func <TOutput> > ParseExpression <TOutput>(string input)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.ParseExpression <TOutput>(input));
        }
        public static LambdaExpression ParseExpressionFor(string input, Type inputType, string parameterName = null)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(new[] { inputType }).ParseExpressionFor(input, inputType, parameterName));
        }
        public static LambdaExpression ParseExpression(string input)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.ParseExpression(input));
        }
        public static Delegate ParseFor <TInput>(string input, string parameterName = null)
        {
            var parser = new ExpressionParserImplementation();

            return(parser.Using(new[] { typeof(TInput) }).ParseFor <TInput>(input, parameterName));
        }