public override SemanticCheckResult VisitLessThan(ASTLessThanNode LessThan) { var left = LessThan.Left.Accept(this); var right = LessThan.Right.Accept(this); LessThan.SemanticCheckResult.Ensure(left, left.Type == CompilationUnit.TypeEnvironment.Int, new Lazy <Error>(() => new Error("Left Expresion must be of tipe Int.", ErrorKind.TypeError, LessThan.LessThanToken.Line, LessThan.LessThanToken.Column))); LessThan.SemanticCheckResult.Ensure(right, right.Type == CompilationUnit.TypeEnvironment.Int, new Lazy <Error>(() => new Error("Right Expresion must be of tipe Int.", ErrorKind.TypeError, LessThan.LessThanToken.Line, LessThan.LessThanToken.Column))); LessThan.SemanticCheckResult.EnsureReturnType(CompilationUnit.TypeEnvironment.Bool); return(LessThan.SemanticCheckResult); }
public ASTCILNode VisitLessThan(ASTLessThanNode LessThan) { return(new ASTCILLessThanTwoVariablesNode((ASTCILExpressionNode)LessThan.Left.Accept(this), (ASTCILExpressionNode)LessThan.Right.Accept(this))); }
public virtual T VisitLessThan(ASTLessThanNode LessThan) { LessThan.Left.Accept(this); LessThan.Right.Accept(this); return(default(T)); }