ProgrammingLanguageNr1.Parser.assignment C# (CSharp) Method

assignment() private method

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

            Token nameToken = match(Token.TokenType.NAME);
            Token assignmentToken = match(Token.TokenType.ASSIGNMENT);
            AST expressionTree = expression();

            if(expressionTree != null) {
                AST_Assignment assignmentTree = new AST_Assignment(assignmentToken, nameToken.getTokenString());
                assignmentTree.addChild(expressionTree);

                return assignmentTree;
            }
            else {
                throw new Error("The expression after = makes no sense", Error.ErrorType.SYNTAX,
                    assignmentToken.LineNr, assignmentToken.LinePosition);
            }
        }