System.Linq.Dynamic.ExpressionParser.ParseMultiplicative C# (CSharp) Method

ParseMultiplicative() private method

private ParseMultiplicative ( ) : Expression
return Expression
		private Expression ParseMultiplicative()
		{
			Expression left = ParseUnary();
			while (_token.ID == TokenId.Asterisk || _token.ID == TokenId.Slash ||
				_token.ID == TokenId.Percent || TokenIdentifierIs("mod") || TokenIdentifierIs("div"))
			{
				Token op = _token;
				NextToken();
				Expression right = ParseUnary();
				CheckAndPromoteOperands(typeof(IArithmeticSignatures), op.Text, ref left, ref right, op.Position);
				switch (op.ID)
				{
					case TokenId.Asterisk:
						left = Expression.Multiply(left, right);
						break;
					case TokenId.Slash:
						left = GenerateDivide(left, right);
						break;
					case TokenId.Percent:
						left = Expression.Modulo(left, right);
						break;
					case TokenId.Identifier:
						if (TokenIdentifierIs("mod"))
							left = Expression.Modulo(left, right);
						else if (TokenIdentifierIs("div"))
							left = Expression.Divide(left, right);
						break;
				}
			}
			return left;
		}
ExpressionParser