public override IASTNode VisitSimpleExpr(MySqlCommandParser.SimpleExprContext ctx)
 {
     if (null != ctx.subquery())
     {
         return(new SubQuerySegment(ctx.Start.StartIndex, ctx.Stop.StopIndex, (SelectCommand)Visit(ctx.subquery())));
     }
     if (null != ctx.parameterMarker())
     {
         return(Visit(ctx.parameterMarker()));
     }
     if (null != ctx.literals())
     {
         return(Visit(ctx.literals()));
     }
     if (null != ctx.intervalExpression())
     {
         return(Visit(ctx.intervalExpression()));
     }
     if (null != ctx.functionCall())
     {
         return(Visit(ctx.functionCall()));
     }
     if (null != ctx.columnName())
     {
         return(Visit(ctx.columnName()));
     }
     return(VisitRemainSimpleExpr(ctx));
 }
 private IASTNode VisitRemainSimpleExpr(MySqlCommandParser.SimpleExprContext ctx)
 {
     if (null != ctx.caseExpression())
     {
         return(Visit(ctx.caseExpression()));
     }
     foreach (var each in ctx.expr())
     {
         Visit(each);
     }
     foreach (var each in ctx.simpleExpr())
     {
         Visit(each);
     }
     return(new CommonExpressionSegment(ctx.Start.StartIndex, ctx.Stop.StopIndex, ctx.GetText()));
 }