nodes: 0, module; 1, function_definition; 2, function_name:sorted_bfs_successors; 3, parameters; 4, block; 5, identifier:G; 6, default_parameter; 7, expression_statement; 8, if_statement; 9, expression_statement; 10, for_statement; 11, return_statement; 12, identifier:source; 13, None; 14, comment:"""Return dictionary of successors in breadth-first-search from source.
  
      Parameters
      ----------
      G : DiscourseDocumentGraph graph
  
      source : node
         Specify starting node for breadth-first search and return edges in
         the component reachable from source.
  
      Returns
      -------
      successors: dict
         A dictionary with nodes as keys and list of succssors nodes as values.
      """; 15, comparison_operator:source is None; 16, block; 17, assignment; 18, pattern_list; 19, call; 20, block; 21, call; 22, identifier:source; 23, None; 24, expression_statement; 25, identifier:successors; 26, call; 27, identifier:src; 28, identifier:target; 29, identifier:sorted_bfs_edges; 30, argument_list; 31, expression_statement; 32, identifier:dict; 33, argument_list; 34, assignment; 35, identifier:defaultdict; 36, argument_list; 37, identifier:G; 38, identifier:source; 39, call; 40, identifier:successors; 41, identifier:source; 42, attribute; 43, identifier:list; 44, attribute; 45, argument_list; 46, identifier:G; 47, identifier:root; 48, subscript; 49, identifier:append; 50, identifier:target; 51, identifier:successors; 52, identifier:src
code: def sorted_bfs_successors(G, source=None):
      """Return dictionary of successors in breadth-first-search from source.
  
      Parameters
      ----------
      G : DiscourseDocumentGraph graph
  
      source : node
         Specify starting node for breadth-first search and return edges in
         the component reachable from source.
  
      Returns
      -------
      successors: dict
         A dictionary with nodes as keys and list of succssors nodes as values.
      """
      if source is None:
          source = G.root
  
      successors = defaultdict(list)
      for src, target in sorted_bfs_edges(G, source):
          successors[src].append(target)
      return dict(successors)