ProgrammingLanguageNr1.Parser.plusOrMinusExpression C# (CSharp) Method

plusOrMinusExpression() private method

private plusOrMinusExpression ( ) : ProgrammingLanguageNr1.AST
return ProgrammingLanguageNr1.AST
        private AST plusOrMinusExpression()
        {
            #if WRITE_DEBUG_INFO
            Console.WriteLine("plus or minus expression");
            #endif

            AST lhs = multiplicationExpression();

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

                AST plusMinusExpressionTree = new AST(operatorToken);
                plusMinusExpressionTree.addChild(lhs);
                plusMinusExpressionTree.addChild(rhs);
                return plusMinusExpressionTree;
            } else {
                return lhs;
            }
        }