code: def parse(self, node):
          
          self._attrs = {}
          vals = []
          yielded = False
  
          for x in self._read_parts(node):
              if isinstance(x, Field):
                  yielded = True
                  x.attrs = self._attrs
                  yield x
              else:
                  vals.append(ustr(x).strip(' \n\t'))
  
          joined = ' '.join([ x for x in vals if x ])
          if joined:
              yielded = True
              yield Field(node, guess_type(joined), self._attrs)
  
          if not yielded:
              yield Field(node, "", self._attrs)
docs: Return generator yielding Field objects for a given node