'Parse an assign statement.'

def parse_set(self):

    lineno = next(self.stream).lineno
    target = self.parse_assign_target(with_namespace=True)
    if self.stream.skip_if('assign'):
        expr = self.parse_tuple()
        return nodes.Assign(target, expr, lineno=lineno)
    body = self.parse_statements(('name:endset',), drop_needle=True)
    return nodes.AssignBlock(target, body, lineno=lineno)
