/// <summary> /// relational_expression : /// relational_expression op = relational_operator relational_expression /// | compound_expression /// </summary> /// <param name="context"></param> /// <returns></returns> public override object VisitRelational_expression([NotNull] PlSqlParser.Relational_expressionContext context) { OCodeObject result = null; var compound_expression = context.compound_expression(); if (compound_expression != null) { result = (OCodeObject)VisitCompound_expression(compound_expression); } else { Stop(); var relational_expression = context.relational_expression(); var left = (OCodeExpression)VisitRelational_expression(relational_expression[0]); var right = (OCodeExpression)VisitRelational_expression(relational_expression[1]); var _operator = (OperatorEnum)VisitRelational_operator(context.relational_operator()); result = new OBinaryExpression() { Left = left, Operator = _operator, Right = right }; } Debug.Assert(result != null); return(result); }
/// <summary> /// concatenation : /// model_expression (AT (LOCAL | TIME ZONE concatenation) | interval_expression)? /// | concatenation op = (ASTERISK | SOLIDUS) concatenation /// | concatenation op = (PLUS_SIGN | MINUS_SIGN) concatenation /// | concatenation BAR BAR concatenation /// ; /// </summary> /// <param name="context"></param> /// <returns></returns> public override object VisitConcatenation([NotNull] PlSqlParser.ConcatenationContext context) { object result = null; var concatenations = context.concatenation(); var model_expression = context.model_expression(); if (model_expression != null) { result = VisitModel_expression(model_expression); if (context.AT() != null) { Stop(); if (concatenations != null && concatenations.Length == 1) { Stop(); //result = } else { Stop(); var interval_expression = context.interval_expression(); if (interval_expression != null) { //result = } } } } else { Stop(); result = new OBinaryExpression() { Left = VisitConcatenation(concatenations[0]) as OCodeExpression, Operator = context.op.ConvertToOperator(), Right = VisitConcatenation(concatenations[1]) as OCodeExpression }; } Debug.Assert(result != null); return(result); }
public void VisitBinaryExpression(OBinaryExpression oBinaryExpression) { throw new NotImplementedException(); }
public void VisitBinaryExpression(OBinaryExpression oBinaryExpression) { }