code: def hildatree2dgparentedtree(self):
          
          def transform(hilda_tree):
              """Transform a HILDA parse tree into a more conventional parse tree.
  
              The input tree::
  
                                    Contrast[S][N]
                           _______________|______________
                    Although they                  they accepted
                  did n't like it ,                 the offer .
  
              is converted into::
  
                                    Contrast
                           ____________|___________
                          S                        N
                          |                        |
                    Although they            they accepted
                  did n't like it ,           the offer .
              """
              if isinstance(hilda_tree, basestring) or not hasattr(hilda_tree, 'label'):
                  return hilda_tree
              assert len(hilda_tree) == 2, "We can only handle binary trees."
  
              match = HILDA_REL_RE.match(hilda_tree.label())
              assert match, "Relation '{}' does not match regex '{}'".format(hilda_tree.label(), HILDA_REL_RE)
              relname, left_child_nuc, right_child_nuc = match.groups()
              hilda_tree._label = relname
  
              for i, child_nuclearity in enumerate([left_child_nuc, right_child_nuc]):
                  child = hilda_tree[i]
                  hilda_tree[i] = Tree(child_nuclearity, [transform(child)])
              return hilda_tree
  
          tree = transform(self.hildafile_tree)
          return DGParentedTree.convert(tree)
docs: Convert the tree from HILDA's format into a conventional binary tree,
          which can be easily converted into output formats like RS3.