
    /h                         S SK Jr  S SKJrJr  S SKJr   " S S\5      r " S S\\5      r " S S	\\5      r	 " S
 S\\5      r
/ SQrg)    )ProbabilisticMixIn)MultiParentedTreeParentedTree)Treec                      ^  \ rS rSrSU 4S jjrS rS rS rS rS r	S r
S	 rS
 rSS jrS rS rS rS rS rSrU =r$ )ImmutableTree   c                    > [         TU ]  X5         [        U R                  [	        U 5      45      U l        g ! [        [        4 a'  n[        S[        U 5      R                  -  5      UeS nAff = f)Nz-%s: node value and children must be immutable)
super__init__hash_labeltuple_hash	TypeError
ValueErrortype__name__)selfnodechildrene	__class__s       K/var/www/auris/envauris/lib/python3.13/site-packages/nltk/tree/immutable.pyr   ImmutableTree.__init__   se    (	t{{E$K89DJ:& 	BT$ZEXEXX	s   %8 A/"A**A/c                 D    [        S[        U 5      R                  -  5      eN%s may not be modifiedr   r   r   )r   indexvalues      r   __setitem__ImmutableTree.__setitem__       1DJ4G4GGHH    c                 D    [        S[        U 5      R                  -  5      er   r   )r   ijr!   s       r   __setslice__ImmutableTree.__setslice__   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   )r   r    s     r   __delitem__ImmutableTree.__delitem__"   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   )r   r'   r(   s      r   __delslice__ImmutableTree.__delslice__%   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r   others     r   __iadd__ImmutableTree.__iadd__(   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r2   s     r   __imul__ImmutableTree.__imul__+   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r   vs     r   appendImmutableTree.append.   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r:   s     r   extendImmutableTree.extend1   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r:   s     r   popImmutableTree.pop4   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r:   s     r   removeImmutableTree.remove7   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   r   s    r   reverseImmutableTree.reverse:   r$   r%   c                 D    [        S[        U 5      R                  -  5      er   r   rH   s    r   sortImmutableTree.sort=   r$   r%   c                     U R                   $ Nr   rH   s    r   __hash__ImmutableTree.__hash__@   s    zzr%   c                 t    [        U S5      (       a!  [        S[        U 5      R                  -  5      eXl        g)z
Set the node label.  This will only succeed the first time the
node label is set, which should occur in ImmutableTree.__init__().
r   r   N)hasattrr   r   r   r   )r   r!   s     r   	set_labelImmutableTree.set_labelC   s1    
 4""5T
8K8KKLLr%   )r   r   rO   )r   
__module____qualname____firstlineno__r   r"   r)   r,   r/   r4   r7   r<   r?   rB   rE   rI   rL   rQ   rU   __static_attributes____classcell__)r   s   @r   r   r      s_    	IIIIIIIIIIII r%   r   c                   J    \ rS rSrS
S jrS rS rS rSS jr\	S 5       r
S	rg)ImmutableProbabilisticTreeM   Nc                     [         R                  XU5        [        R                  " U 40 UD6  [        U R                  [        U 5      U R                  5       45      U l        g rO   )r   r   r   r   r   r   probr   )r   r   r   prob_kwargss       r   r   #ImmutableProbabilisticTree.__init__N   sF    t84##D8K84;;dTYY[AB
r%   c                     [         $ rO   )r]   rH   s    r   _frozen_class(ImmutableProbabilisticTree._frozen_classT   s    ))r%   c                 V    [         R                  " U 5       SU R                  5        S3$ )N [])r   __repr__r`   rH   s    r   ri   #ImmutableProbabilisticTree.__repr__W   s%    --%&bQ77r%   c                 H    U R                  SS9 SU R                  5        S3$ )N<   )marginrg   rh   )pformatr`   rH   s    r   __str__"ImmutableProbabilisticTree.__str__Z   s'    ,,b,)*"TYY[M;;r%   c                     U(       d(  [        U 5      " U R                  X R                  5       S9$ [        U 5      R                  U 5      $ )Nr`   )r   r   r`   convert)r   deeps     r   copyImmutableProbabilisticTree.copy]   s5    :dkk4iikBB:%%d++r%   c                    [        U[        5      (       af  U Vs/ s H  o R                  U5      PM     nn[        U[        5      (       a  U " UR                  X1R                  5       S9$ U " UR                  USS9$ U$ s  snf )Nrr   g      ?)
isinstancer   rs   r   r   r`   )clsvalchildr   s       r   rs   "ImmutableProbabilisticTree.convertc   sl    c4  8;<uE*H<#1223::xhhjAA3::xc::J =s   A>rP   rO   )F)r   rW   rX   rY   r   rd   ri   ro   ru   classmethodrs   rZ    r%   r   r]   r]   M   s0    C*8<,  r%   r]   c                       \ rS rSrSrg)ImmutableParentedTreeo   r~   Nr   rW   rX   rY   rZ   r~   r%   r   r   r   o       r%   r   c                       \ rS rSrSrg)ImmutableMultiParentedTrees   r~   Nr   r~   r%   r   r   r   s   r   r%   r   )r]   r   r   r   N)nltk.probabilityr   nltk.tree.parentedr   r   nltk.tree.treer   r   r]   r   r   __all__r~   r%   r   <module>r      sQ    0 > :D :z0B D	M< 		0A 	r%   