示例#1
0
        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));
        }