public SqlExpressionParseResult ParseExpression(IContext context, string text) { SetInput(text); //var plSqlParser = MakeParser(text, null); var parseResult = plSqlParser.expressionUnit(); var visitor = new SqlExpressionVisitor(context); var result = visitor.Visit(parseResult); var errors = messages.Where(x => x.Level == SqlParseMessageLevel.Error).Select(x => x.Message).ToArray(); if (errors.Length > 0) { return(SqlExpressionParseResult.Fail(errors)); } return(SqlExpressionParseResult.Success(result)); }