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);
}
}