private OperatorExpressionNode RelationalOperation(string expression) { OperatorExpressionNode node = null; if (Same(expression, Token.TokenType.LessThan)) { node = new LessThanExpressionNode(); } else if (Same(expression, Token.TokenType.GreaterThan)) { node = new GreaterThanExpressionNode(); } else if (Same(expression, Token.TokenType.LessThanOrEqualTo)) { node = new LessThanOrEqualExpressionNode(); } else if (Same(expression, Token.TokenType.GreaterThanOrEqualTo)) { node = new GreaterThanOrEqualExpressionNode(); } else if (Same(expression, Token.TokenType.EqualTo)) { node = new EqualExpressionNode(); } else if (Same(expression, Token.TokenType.NotEqualTo)) { node = new NotEqualExpressionNode(); } return(node); }
private GenericExpressionNode RelationalExpr(string expression) { { GenericExpressionNode lhs = Factor(expression); if (lhs == null) { errorPosition = lexer.GetErrorPosition(); ProjectErrorUtilities.VerifyThrowInvalidProject(false, this.conditionAttribute, "UnexpectedTokenInCondition", expression, lexer.IsNextString(), errorPosition); } OperatorExpressionNode node = RelationalOperation(expression); if (node == null) { return(lhs); } GenericExpressionNode rhs = Factor(expression); node.LeftChild = lhs; node.RightChild = rhs; return(node); } }