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 (null == lhs) { this.errorPosition = this._lexer.GetErrorPosition(); } OperatorExpressionNode node = RelationalOperation(expression); if (node == null) { return(lhs); } GenericExpressionNode rhs = Factor(expression); node.LeftChild = lhs; node.RightChild = rhs; return(node); } }