³ò
5ÒÇIc           @   s`   d  d g Z  d d k l Z d d k Td d k Td e f d „  ƒ  YZ d  e f d „  ƒ  YZ d S(   t   Composert   ComposerErroriÿÿÿÿ(   t   MarkedYAMLError(   t   *c           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR      s   c           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s   h  |  _  d  S(   N(   t   anchors(   t   self(    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyt   __init__   s    c         C   s   |  i  t ƒ S(   N(   t   check_eventt   StreamEndEvent(   R   (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyt
   check_node   s    c         C   s"   |  i  t ƒ p |  i ƒ  Sn d  S(   N(   R	   R
   t   compose_document(   R   (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyt   get_node   s    c         C   sQ   |  i  t ƒ o |  i ƒ  n |  i ƒ  |  i d  d  ƒ } |  i ƒ  h  |  _ | S(   N(   R	   t   StreamStartEventt	   get_eventt   compose_nodet   NoneR   (   R   t   node(    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR      s    

	c         C   s]  |  i  t ƒ o] |  i ƒ  } | i } | |  i j o) t d  d  d | i d ƒ | i ƒ ‚ n |  i | Sn |  i	 ƒ  } | i } | d  j	 oG | |  i j o3 t d | i d ƒ |  i | i d | i ƒ ‚ qÖ n |  i
 | | ƒ |  i  t ƒ o |  i | ƒ } nG |  i  t ƒ o |  i | ƒ } n$ |  i  t ƒ o |  i | ƒ } n |  i ƒ  | S(   Ns   found undefined alias %rs   utf-8s*   found duplicate anchor %r; first occurences   second occurence(   R	   t
   AliasEventR   t   anchorR   R   R   t   encodet
   start_markt
   peek_eventt   descend_resolvert   ScalarEventt   compose_scalar_nodet   SequenceStartEventt   compose_sequence_nodet   MappingStartEventt   compose_mapping_nodet   ascend_resolver(   R   t   parentt   indext   eventR   R   (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR   +   s.    		
c         C   s—   |  i  ƒ  } | i } | d  j p | d j o |  i t | i | i ƒ } n t | | i | i | i d | i	 ƒ} | d  j	 o | |  i
 | <n | S(   Nu   !t   style(   R   t   tagR   t   resolvet
   ScalarNodet   valuet   implicitR   t   end_markR#   R   (   R   R   R"   R$   R   (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR   D   s    	c         C   sê   |  i  ƒ  } | i } | d  j p | d j o |  i t d  | i ƒ } n t | g  | i d  d | i ƒ} | d  j	 o | |  i | <n d } x; |  i	 t
 ƒ p* | i i |  i | | ƒ ƒ | d 7} q“ W|  i  ƒ  } | i | _ | S(   Nu   !t
   flow_stylei    i   (   R   R$   R   R%   t   SequenceNodeR(   R   R*   R   R	   t   SequenceEndEventR'   t   appendR   R)   (   R   R   t   start_eventR$   R   R!   t	   end_event(    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR   O   s     		c         C   sø   |  i  ƒ  } | i } | d  j p | d j o |  i t d  | i ƒ } n t | g  | i d  d | i ƒ} | d  j	 o | |  i | <n xO |  i	 t
 ƒ p> |  i | d  ƒ } |  i | | ƒ } | i i | | f ƒ q W|  i  ƒ  } | i | _ | S(   Nu   !R*   (   R   R$   R   R%   t   MappingNodeR(   R   R*   R   R	   t   MappingEndEventR   R'   R-   R)   (   R   R   R.   R$   R   t   item_keyt
   item_valueR/   (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR   a   s     		(
   R   R   R   R   R   R   R   R   R   R   (    (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pyR       s   							N(   t   __all__t   errorR   t   eventst   nodesR   t   objectR    (    (    (    s#   /p/zhu/06/nlp/nltk/yaml/composer.pys   <module>   s
   

