code: def parse_block(self, contents, parent, module, depth):
          
          for anexec in self.RE_EXEC.finditer(contents):
              x = self._process_execs(anexec, parent, module)
              parent.executables[x.name.lower()] = x
              if  isinstance(parent, Module) and "public" in x.modifiers:
                  parent.publics[x.name.lower()] = 1
              
              #To handle the embedded executables, run this method recursively
              self.parse_block(x.contents, x, module, depth + 1)
  
          #Now that we have the executables, we can use them to compile a string
          #that includes only documentation *external* to the executable definitions
          #Because we enforce adding the name to 'end subroutine' statements etc.
          #all the embedded executables haven't been parsed yet.
          if len(parent.executables) > 0:
              remove = []
              for x in parent.executables:
                  remove.append((parent.executables[x].start, parent.executables[x].end))
  
              remove.sort(key=lambda tup: tup[0])
              retain = []
              cur_end = 0
              for rem in remove:
                  if "\n" in contents[rem[0]+1:rem[1]]:
                      signature = contents[rem[0]+1:rem[1]].index("\n") + 2
                      keep = contents[cur_end:rem[0] + signature]
                      cur_end = rem[1]
                      retain.append(keep)
  
              #Now we have a string of documentation segments and the signatures they
              #decorate that only applies to the non-embedded subroutines
              docsearch = "".join(retain)
              docblocks = self.docparser.parse_docs(docsearch, parent)
  
              #Process the decorating documentation for the executables including the
              #parameter definitions.
              for x in parent.executables:
                  self._process_docs(parent.executables[x], docblocks, 
                                     parent, module, docsearch)
docs: Extracts all executable definitions from the specified string and adds
          them to the specified parent.