public override object VisitLambdaCompare([NotNull] ChessVCParser.LambdaCompareContext context) { if (context.bop.Text == "<") { return(Expression.LessThan((Expression)Visit(context.lambdaexpr(0)), (Expression)Visit(context.lambdaexpr(1)))); } else if (context.bop.Text == "<=") { return(Expression.LessThanOrEqual((Expression)Visit(context.lambdaexpr(0)), (Expression)Visit(context.lambdaexpr(1)))); } else if (context.bop.Text == ">") { return(Expression.GreaterThan((Expression)Visit(context.lambdaexpr(0)), (Expression)Visit(context.lambdaexpr(1)))); } else { return(Expression.GreaterThanOrEqual((Expression)Visit(context.lambdaexpr(0)), (Expression)Visit(context.lambdaexpr(1)))); } }
/// <summary> /// Visit a parse tree produced by the <c>lambdaCompare</c> /// labeled alternative in <see cref="ChessVCParser.lambdaexpr"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitLambdaCompare([NotNull] ChessVCParser.LambdaCompareContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by the <c>lambdaCompare</c> /// labeled alternative in <see cref="ChessVCParser.lambdaexpr"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitLambdaCompare([NotNull] ChessVCParser.LambdaCompareContext context) { }