code: def parse(self, target):
          
          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)
docs: Parse nested declaration.