o
    rZŽhá  ã                   @   s0   d dl Z d dlmZ dd„ Zdd„ ZddgZdS )é    N)ÚTreec                 C   s   t dƒ‚)zE
    Use Tree.read(s, remove_empty_top_bracketing=True) instead.
    z;Use Tree.read(s, remove_empty_top_bracketing=True) instead.)Ú	NameError)Ús© r   ú@/var/www/auris/lib/python3.10/site-packages/nltk/tree/parsing.pyÚbracket_parse   s   r   c                 C   sÐ   t  d| ¡}tt|ƒƒD ]O}|| dkr&|| ||d  ||d < ||< qd|| v rQ||  d¡}t|ƒdkr@|d ||< qd|d  d |d  d	 ||< q|| d
kr[d||< qd |¡}tj|ddS )až  
    Parse a Sinica Treebank string and return a tree.  Trees are represented as nested brackettings,
    as shown in the following example (X represents a Chinese character):
    S(goal:NP(Head:Nep:XX)|theme:NP(Head:Nhaa:X)|quantity:Dab:X|Head:VL2:X)#0(PERIODCATEGORY)

    :return: A tree corresponding to the string representation.
    :rtype: Tree
    :param s: The string to be converted
    :type s: str
    z([()| ])ú(é   ú:é   éþÿÿÿú éÿÿÿÿú)ú|Ú T)Zremove_empty_top_bracketing)ÚreÚsplitÚrangeÚlenÚjoinr   Z
fromstring)r   ÚtokensÚiÚfieldsZtreebank_stringr   r   r   Úsinica_parse   s    
þ"€
r   )r   Znltk.tree.treer   r   r   Ú__all__r   r   r   r   Ú<module>   s   
%þ