ProgrammingLanguageNr1.Parser.multiplicationExpression C# (CSharp) Method

multiplicationExpression() private method

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

            AST lhs = dotNotationExpression();

            if ( lookAhead(1).getTokenString() == "*" ||
                 lookAhead(1).getTokenString() == "/" )
            {
                Token operatorToken = match(Token.TokenType.OPERATOR);
                AST rhs = multiplicationExpression();
                checkLeftHandSide(lhs, operatorToken);
                checkRightHandSide(rhs, operatorToken);

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

            } else {
                return lhs;
            }
        }