While.Parsing.Parser.Comparison C# (CSharp) Метод

Comparison() публичный Метод

public Comparison ( Expression &exp ) : void
exp Expression
Результат void
        void Comparison(out Expression exp)
        {
            Expression second;
            BitOr(out exp);
            if (StartOf(3)) {
            switch (la.kind) {
            case 29: {
                Get();
                break;
            }
            case 30: {
                Get();
                break;
            }
            case 31: {
                Get();
                break;
            }
            case 32: {
                Get();
                break;
            }
            case 33: {
                Get();
                break;
            }
            case 34: {
                Get();
                break;
            }
            }
            Token tok = t;
            Comparison(out second);
            if (!ExpectInt(exp, tok, false)) { return; };
            if (!ExpectInt(second, tok, true)) { return; };
            if (tok.val == "<") {
                exp = new LessThan((TypedExpression<int>)exp, (TypedExpression<int>)second);
            } else if (tok.val == ">") {
                exp = new GreaterThan((TypedExpression<int>)exp, (TypedExpression<int>)second);
            } else if (tok.val == "<=") {
                exp = new LessThanOrEqual((TypedExpression<int>)exp, (TypedExpression<int>)second);
            } else if (tok.val == ">=") {
                exp = new GreaterThanOrEqual((TypedExpression<int>)exp, (TypedExpression<int>)second);
            } else if (tok.val == "==") {
                exp = new Equal((TypedExpression<int>)exp, (TypedExpression<int>)second);
            } else if (tok.val == "!=") {
                exp = new NotEqual((TypedExpression<int>)exp, (TypedExpression<int>)second);
            }

            }
        }