3
­d#  ã               @   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ƒ‚dS )zE
    Use Tree.read(s, remove_empty_top_bracketing=True) instead.
    z;Use Tree.read(s, remove_empty_top_bracketing=True) instead.N)Ú	NameError)Ús© r   ú1/tmp/pip-build-v9q4h5k9/nltk/nltk/tree/parsing.pyÚbracket_parse   s    r   c             C   sÔ   t jd| ƒ}x®tt|ƒƒD ]ž}|| dkrN|| ||d   ||d < ||< qd|| kr¤|| jdƒ}t|ƒdkr‚|d ||< q¸d|d  d |d  d ||< q|| dkrd	||< qW dj|ƒ}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   Ú
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
   %