ConditionExpression ParseRelationalExpression() { ConditionExpression e = ParseFactorExpression(); Token opToken; RelationOperator op; if (tokenizer.IsToken(TokenType.Less) || tokenizer.IsToken(TokenType.Greater) || tokenizer.IsToken(TokenType.Equal) || tokenizer.IsToken(TokenType.NotEqual) || tokenizer.IsToken(TokenType.LessOrEqual) || tokenizer.IsToken(TokenType.GreaterOrEqual)) { opToken = tokenizer.Token; tokenizer.GetNextToken(); switch (opToken.Type) { case TokenType.Equal: op = RelationOperator.Equal; break; case TokenType.NotEqual: op = RelationOperator.NotEqual; break; case TokenType.Less: op = RelationOperator.Less; break; case TokenType.LessOrEqual: op = RelationOperator.LessOrEqual; break; case TokenType.Greater: op = RelationOperator.Greater; break; case TokenType.GreaterOrEqual: op = RelationOperator.GreaterOrEqual; break; default: throw new ExpressionParseException(String.Format("Wrong relation operator {0}", opToken.Value)); } e = new ConditionRelationalExpression(e, ParseFactorExpression(), op); } return(e); }
ConditionExpression ParseRelationalExpression () { ConditionExpression e = ParseFactorExpression (); Token opToken; RelationOperator op; if (tokenizer.IsToken (TokenType.Less) || tokenizer.IsToken (TokenType.Greater) || tokenizer.IsToken (TokenType.Equal) || tokenizer.IsToken (TokenType.NotEqual) || tokenizer.IsToken (TokenType.LessOrEqual) || tokenizer.IsToken (TokenType.GreaterOrEqual)) { opToken = tokenizer.Token; tokenizer.GetNextToken (); switch (opToken.Type) { case TokenType.Equal: op = RelationOperator.Equal; break; case TokenType.NotEqual: op = RelationOperator.NotEqual; break; case TokenType.Less: op = RelationOperator.Less; break; case TokenType.LessOrEqual: op = RelationOperator.LessOrEqual; break; case TokenType.Greater: op = RelationOperator.Greater; break; case TokenType.GreaterOrEqual: op = RelationOperator.GreaterOrEqual; break; default: throw new ExpressionParseException (String.Format ("Wrong relation operator {0}", opToken.Value)); } e = new ConditionRelationalExpression (e, ParseFactorExpression (), op); } return e; }