Parse nested declaration.

def parse(self, target):
        """ Parse nested declaration.
        """
        if not isinstance(target, Node):
            parent = ContentNode(None, None, [])
            parent.parse(target)
            target = parent

        super(Declaration, self).parse(target)
        self.name = str(self.data[0])
        while isinstance(target, Declaration):
            self.name = '-'.join((str(target.data[0]), self.name))
            target = target.parent

        self.expr = ' '.join(str
                             (n)
                             for n in self.data
                             [2:] if not isinstance(n, Declaration))
        if self.expr:
            target.declareset.append(self)