#NEWLINE# def __init__( self , span , lhs , rhs , dot = 0 ) : #NEWLINE# #INDENT# "\n        Construct a new ``TreeEdge``.\n\n        :type span: tuple(int, int)\n        :param span: A tuple ``(s, e)``, where ``tokens[s:e]`` is the\n            portion of the sentence that is consistent with the new\n            edge's structure.\n        :type lhs: Nonterminal\n        :param lhs: The new edge's left-hand side, specifying the\n            hypothesized tree's node value.\n        :type rhs: list(Nonterminal and str)\n        :param rhs: The new edge's right-hand side, specifying the\n            hypothesized tree's children.\n        :type dot: int\n        :param dot: The position of the new edge's dot.  This position\n            specifies what prefix of the production's right hand side\n            is consistent with the text.  In particular, if\n            ``sentence`` is the list of tokens in the sentence, then\n            ``okens[span[0]:span[1]]`` can be spanned by the\n            children specified by ``rhs[:dot]``.\n        " #NEWLINE# self . _span = span #NEWLINE# self . _lhs = lhs #NEWLINE# rhs = tuple ( rhs ) #NEWLINE# self . _rhs = rhs #NEWLINE# self . _dot = dot #NEWLINE# self . _comparison_key = ( span , lhs , rhs , dot )