ProgrammingLanguageNr1.Parser.comparisonExpression C# (CSharp) Method

comparisonExpression() private method

private comparisonExpression ( ) : ProgrammingLanguageNr1.AST
return ProgrammingLanguageNr1.AST
        private AST comparisonExpression()
        {
            #if WRITE_DEBUG_INFO
            Console.WriteLine("comparison expression");
            #endif

            AST lhs = plusOrMinusExpression();

            if ( lookAhead(1).getTokenString() == "<" ||
                 lookAhead(1).getTokenString() == ">" ||
                 lookAhead(1).getTokenString() == "<=" ||
                 lookAhead(1).getTokenString() == ">=" ||
                 lookAhead(1).getTokenString() == "!=" ||
                 lookAhead(1).getTokenString() == "=="
                )
            {
                Token operatorToken = match(Token.TokenType.OPERATOR);
                AST rhs = plusOrMinusExpression();
                checkLeftHandSide(lhs, operatorToken);
                checkRightHandSide(rhs, operatorToken);

                AST comparisonExpressionTree = new AST(operatorToken);
                comparisonExpressionTree.addChild(lhs);
                comparisonExpressionTree.addChild(rhs);
                return comparisonExpressionTree;

            } else {
                return lhs;
            }
        }