private static AstNode ParseAssignment(Parser.Parser parser) { AstNode left = ParseEquality(parser); if (parser.AcceptToken(TokenType.Assignment)) { AstNode right = ParseAssignment(parser); return(new BinOpNode(BinaryOperation.Assignment, left, right)); } else if (parser.AcceptToken(TokenType.OpAssign)) { var assigntype = GetBinaryOp(parser.PreviousToken().Value.ToString()); var right = ParseAssignment(parser); return(new BinOpNode(BinaryOperation.Assignment, assigntype, left, right)); } else { return(left); } }