AjScript.Interpreter.Parser.ParseBinaryExpressionZerothLevel C# (CSharp) Метод

ParseBinaryExpressionZerothLevel() приватный Метод

private ParseBinaryExpressionZerothLevel ( ) : IExpression
Результат IExpression
        private IExpression ParseBinaryExpressionZerothLevel()
        {
            IExpression expression = this.ParseBinaryExpressionFirstLevel();

            if (expression == null)
                return null;

            while (this.TryParse(TokenType.Operator, "<", ">", "==", ">=", "<=", "!=", "===", "!=="))
            {
                Token oper = this.lexer.NextToken();
                IExpression right = this.ParseBinaryExpressionFirstLevel();

                ComparisonOperator op;

                if (oper.Value == "<")
                    op = ComparisonOperator.Less;
                else if (oper.Value == ">")
                    op = ComparisonOperator.Greater;
                else if (oper.Value == "<=")
                    op = ComparisonOperator.LessEqual;
                else if (oper.Value == ">=")
                    op = ComparisonOperator.GreaterEqual;
                else if (oper.Value == "===")
                    op = ComparisonOperator.Equal;
                else if (oper.Value == "!==")
                    op = ComparisonOperator.NotEqual;
                else if (oper.Value == "==")
                    op = ComparisonOperator.NonStrictEqual;
                else if (oper.Value == "!=")
                    op = ComparisonOperator.NonStrictNotEqual;
                else
                    throw new ParserException(string.Format("Unknown operator '{0}'", oper.Value));

                expression = new CompareExpression(op, expression, right);
            }

            return expression;
        }