class_docstr: Parses a numpydoc string to an abstract representation
  
  Instances define a mapping from section title to structured data.
class_docstr_tok: ["Parses","a","numpydoc","string","to","an","abstract","representation","Instances","define","a","mapping","from","section","title","to","structured","data","."]
docstr: Grab signature (if given) and summary
docstr_tok: ["Grab","signature","(","if","given",")","and","summary"]
code: def _parse_summary(self):
      """Grab signature (if given) and summary"""
      if self._is_at_section():
          return
  
      # If several signatures present, take the last one
      while True:
          summary = self._doc.read_to_next_empty_line()
          summary_str = " ".join([s.strip() for s in summary]).strip()
          if re.compile(r"^([\w., ]+=)?\s*[\w\.]+\(.*\)$").match(
              summary_str
          ):
              self["Signature"] = summary_str
              if not self._is_at_section():
                  continue
          break
  
      if summary is not None:
          self["Summary"] = summary
  
      if not self._is_at_section():
          self["Extended Summary"] = self._read_to_next_section()
  
imports: import inspect
  import textwrap
  import re
  import pydoc
  from warnings import warn
  import collections
  import copy
label_desc: Use image node_id 13 for calling the NumpyDocString obj's underlying member method code with example usage: obj._parse_summary() without return types