³ò
5ÒÇIc           @   sx   d  d g Z  d d k l Z d d k Td d k Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d  e f d	 „  ƒ  YZ d S(
   t   Emittert   EmitterErroriÿÿÿÿ(   t	   YAMLError(   t   *Nc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR      s   t   ScalarAnalysisc           B   s   e  Z d  „  Z RS(   c	   	      C   sL   | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   scalart   emptyt	   multilinet   allow_flow_plaint   allow_block_plaint   allow_single_quotedt   allow_double_quotedt   allow_block(	   t   selfR   R   R	   R
   R   R   R   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   __init__   s    							(   R   R   R   (    (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR      s   c           B   só  e  Z h  d  d  <d d <Z e e e e e d „ Z d „  Z d „  Z d „  Z e e d „ Z	 d „  Z
 d	 „  Z d
 „  Z e d „ Z d „  Z d „  Z e e e e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z e d „ Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# „  Z% d$ „  Z& d% „  Z' d& „  Z( d' „  Z) d( „  Z* d) „  Z+ d* „  Z, d+ „  Z- d, „  Z. d- „  Z/ d. „  Z0 d/ „  Z1 d0 „  Z2 d1 „  Z3 e e d2 „ Z4 d3 „  Z5 e d4 „ Z6 d5 „  Z7 d6 „  Z8 e9 d7 „ Z: h  d8 d9 <d: d; <d< d= <d> d? <d@ dA <dB dC <dD dE <dF dG <dH dI <dJ dJ <dK dK <dL dM <dN dO <dP dQ <dR dS <Z; e9 dT „ Z< dU „  Z= dV „  Z> dW „  Z? e9 dX „ Z@ RS(Y   u   !u   !!u   tag:yaml.org,2002:c         C   sn  | |  _  d  |  _ g  |  _ |  i |  _ g  |  _ d  |  _ g  |  _ d  |  _	 d |  _
 t |  _ t |  _ t |  _ t |  _ d |  _ d |  _ t |  _ t |  _ | |  _ | |  _ d |  _ | o+ d | j  o
 d j  n o | |  _ n d |  _ | o! | |  i d j o | |  _ n d |  _ | d	 j o | |  _ n d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S(
   Ni    i   i   i
   iP   u   
u   u   
(   u   u   
u   
(   t   streamt   Nonet   encodingt   statest   expect_stream_startt   statet   eventst   eventt   indentst   indentt
   flow_levelt   Falset   root_contextt   sequence_contextt   mapping_contextt   simple_key_contextt   linet   columnt   Truet
   whitespacet	   indentiont	   canonicalt   allow_unicodet   best_indentt
   best_widtht   best_line_breakt   tag_prefixest   prepared_anchort   prepared_tagt   analysist   style(   R   R   R&   R   t   widthR'   t
   line_break(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR   (   sB    																			%						c         C   sQ   |  i  i | ƒ x: |  i ƒ  p, |  i  i d ƒ |  _ |  i ƒ  d  |  _ q Wd  S(   Ni    (   R   t   appendt   need_more_eventst   popR   R   R   (   R   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   emiti   s
    
c         C   sŠ   |  i  p t Sn |  i  d } t | t ƒ o |  i d ƒ SnG t | t ƒ o |  i d ƒ Sn& t | t ƒ o |  i d ƒ Sn t Sd  S(   Ni    i   i   i   (   R   R#   t
   isinstancet   DocumentStartEventt   need_eventst   SequenceStartEventt   MappingStartEventR   (   R   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR3   r   s    
c         C   s¬   d } xŒ |  i  d D]} } t | t t f ƒ o | d 7} n? t | t t f ƒ o | d 8} n t | t ƒ o
 d } n | d j  o t Sq q Wt |  i  ƒ | d j  S(   Ni    i   iÿÿÿÿ(	   R   R6   R7   t   CollectionStartEventt   DocumentEndEventt   CollectionEndEventt   StreamEndEventR   t   len(   R   t   countt   levelR   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR8      s     
c         C   sh   |  i  i |  i ƒ |  i d  j o$ | o |  i |  _ qd d |  _ n | p |  i |  i 7_ n d  S(   Ni    (   R   R2   R   R   R(   (   R   t   flowt
   indentless(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   increase_indentŒ   s    c         C   sd   t  |  i t ƒ o: |  i i o |  i i |  _ n |  i ƒ  |  i |  _ n t d |  i ƒ ‚ d  S(   Ns%   expected StreamStartEvent, but got %s(   R6   R   t   StreamStartEventR   t   write_stream_startt   expect_first_document_startR   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR   š   s    
c         C   s   t  d |  i ƒ ‚ d  S(   Ns   expected nothing, but got %s(   R   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   expect_nothing¤   s    c         C   s   |  i  d t ƒ S(   Nt   first(   t   expect_document_startR#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRG   ©   s    c   	      C   s»  t  |  i t ƒ od|  i i o& |  i |  i i ƒ } |  i | ƒ n |  i i ƒ  |  _ |  i i	 o| |  i i	 i
 ƒ  } | i ƒ  x] | D]Q } |  i i	 | } | |  i | <|  i | ƒ } |  i | ƒ } |  i | | ƒ qˆ Wn | o@ |  i i o2 |  i o' |  i i o |  i i	 o |  i ƒ  } | p6 |  i ƒ  |  i d t ƒ |  i o |  i ƒ  qgn |  i |  _ nA t  |  i t ƒ o |  i ƒ  |  i |  _ n t d |  i ƒ ‚ d  S(   Nu   ---s'   expected DocumentStartEvent, but got %s(   R6   R   R7   t   versiont   prepare_versiont   write_version_directivet   DEFAULT_TAG_PREFIXESt   copyR+   t   tagst   keyst   sortt   prepare_tag_handlet   prepare_tag_prefixt   write_tag_directivet   explicitR&   t   check_empty_documentt   write_indentt   write_indicatorR#   t   expect_document_rootR   R>   t   write_stream_endRH   R   (	   R   RI   t   version_textt   handlest   handlet   prefixt   handle_textt   prefix_textt   implicit(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRJ   ¬   s:    
  


c         C   sy   t  |  i t ƒ oO |  i ƒ  |  i i o |  i d t ƒ |  i ƒ  n |  i ƒ  |  i |  _	 n t
 d |  i ƒ ‚ d  S(   Nu   ...s%   expected DocumentEndEvent, but got %s(   R6   R   R<   RX   RV   RY   R#   t   flush_streamRJ   R   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   expect_document_endË   s    

c         C   s'   |  i  i |  i ƒ |  i d t ƒ d  S(   Nt   root(   R   R2   Rd   t   expect_nodeR#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRZ   ×   s    c         C   sk  | |  _  | |  _ | |  _ | |  _ t |  i t ƒ o |  i ƒ  n#t |  i t t	 f ƒ oö |  i
 d ƒ |  i ƒ  t |  i t ƒ o |  i ƒ  qgt |  i t ƒ oJ |  i p$ |  i p |  i i p |  i ƒ  o |  i ƒ  qP|  i ƒ  qgt |  i t ƒ oJ |  i p$ |  i p |  i i p |  i ƒ  o |  i ƒ  qP|  i ƒ  qgn t d |  i ƒ ‚ d  S(   Nu   &s   expected NodeEvent, but got %s(   R   R   R   R    R6   R   t
   AliasEventt   expect_aliast   ScalarEventR;   t   process_anchort   process_tagt   expect_scalarR9   R   R&   t
   flow_stylet   check_empty_sequencet   expect_flow_sequencet   expect_block_sequenceR:   t   check_empty_mappingt   expect_flow_mappingt   expect_block_mappingR   (   R   Re   t   sequencet   mappingt
   simple_key(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRf   Ý   s,    				
!!c         C   sF   |  i  i d  j o t d ƒ ‚ n |  i d ƒ |  i i ƒ  |  _ d  S(   Ns!   anchor is not specified for aliasu   *(   R   t   anchorR   R   Rj   R   R4   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRh   ù   s    c         C   sB   |  i  d t ƒ |  i ƒ  |  i i ƒ  |  _ |  i i ƒ  |  _ d  S(   NRB   (   RD   R#   t   process_scalarR   R4   R   R   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRl   ÿ   s    
c         C   sE   |  i  d t d t ƒ|  i d 7_ |  i d t ƒ |  i |  _ d  S(   Nu   [R$   i   RB   (   RY   R#   R   RD   t   expect_first_flow_sequence_itemR   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRo     s    c         C   s¬   t  |  i t ƒ oG |  i i ƒ  |  _ |  i d 8_ |  i d t ƒ |  i	 i ƒ  |  _
 nO |  i p |  i |  i j o |  i ƒ  n |  i	 i |  i ƒ |  i d t ƒ d  S(   Ni   u   ]Rt   (   R6   R   t   SequenceEndEventR   R4   R   R   RY   R   R   R   R&   R"   R)   RX   R2   t   expect_flow_sequence_itemRf   R#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRy     s    c         C   sä   t  |  i t ƒ oo |  i i ƒ  |  _ |  i d 8_ |  i o |  i d t	 ƒ |  i
 ƒ  n |  i d t	 ƒ |  i i ƒ  |  _ n_ |  i d t	 ƒ |  i p |  i |  i j o |  i
 ƒ  n |  i i |  i ƒ |  i d t ƒ d  S(   Ni   u   ,u   ]Rt   (   R6   R   Rz   R   R4   R   R   R&   RY   R   RX   R   R   R"   R)   R2   R{   Rf   R#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR{     s    
c         C   sE   |  i  d t d t ƒ|  i d 7_ |  i d t ƒ |  i |  _ d  S(   Nu   {R$   i   RB   (   RY   R#   R   RD   t   expect_first_flow_mapping_keyR   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRr   +  s    c         C   s  t  |  i t ƒ oG |  i i ƒ  |  _ |  i d 8_ |  i d t ƒ |  i	 i ƒ  |  _
 n¤ |  i p |  i |  i j o |  i ƒ  n |  i o: |  i ƒ  o- |  i	 i |  i ƒ |  i d t d t ƒ n4 |  i d t ƒ |  i	 i |  i ƒ |  i d t ƒ d  S(   Ni   u   }Ru   Rv   u   ?(   R6   R   t   MappingEndEventR   R4   R   R   RY   R   R   R   R&   R"   R)   RX   t   check_simple_keyR2   t    expect_flow_mapping_simple_valueRf   R#   t   expect_flow_mapping_value(   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR|   1  s    c         C   s9  t  |  i t ƒ oo |  i i ƒ  |  _ |  i d 8_ |  i o |  i d t	 ƒ |  i
 ƒ  n |  i d t	 ƒ |  i i ƒ  |  _ n´ |  i d t	 ƒ |  i p |  i |  i j o |  i
 ƒ  n |  i o: |  i ƒ  o- |  i i |  i ƒ |  i d t d t ƒ n4 |  i d t ƒ |  i i |  i ƒ |  i d t ƒ d  S(   Ni   u   ,u   }Ru   Rv   u   ?(   R6   R   R}   R   R4   R   R   R&   RY   R   RX   R   R   R"   R)   R~   R2   R   Rf   R#   R€   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   expect_flow_mapping_keyB  s"    
c         C   s7   |  i  d t ƒ |  i i |  i ƒ |  i d t ƒ d  S(   Nu   :Ru   (   RY   R   R   R2   R   Rf   R#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR   W  s    c         C   sb   |  i  p |  i |  i j o |  i ƒ  n |  i d t ƒ |  i i |  i ƒ |  i	 d t ƒ d  S(   Nu   :Ru   (
   R&   R"   R)   RX   RY   R#   R   R2   R   Rf   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR€   \  s
    c         C   s:   |  i  o |  i } |  i d t d | ƒ |  i |  _ d  S(   NRB   RC   (   R   R%   RD   R   t    expect_first_block_sequence_itemR   (   R   RC   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRp   e  s    c         C   s   |  i  d t ƒ S(   NRI   (   t   expect_block_sequence_itemR#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR‚   j  s    c         C   sŠ   | o; t  |  i t ƒ o( |  i i ƒ  |  _ |  i i ƒ  |  _ nD |  i ƒ  |  i	 d t
 d t
 ƒ|  i i |  i ƒ |  i d t
 ƒ d  S(   Nu   -R%   Rt   (   R6   R   Rz   R   R4   R   R   R   RX   RY   R#   R2   Rƒ   Rf   (   R   RI   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRƒ   m  s    
c         C   s    |  i  d t ƒ |  i |  _ d  S(   NRB   (   RD   R   t   expect_first_block_mapping_keyR   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRs   y  s    c         C   s   |  i  d t ƒ S(   NRI   (   t   expect_block_mapping_keyR#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR„   }  s    c         C   sÄ   | o; t  |  i t ƒ o( |  i i ƒ  |  _ |  i i ƒ  |  _ n~ |  i ƒ  |  i	 ƒ  o- |  i i
 |  i ƒ |  i d t d t ƒ n: |  i d t d t ƒ|  i i
 |  i ƒ |  i d t ƒ d  S(   NRu   Rv   u   ?R%   (   R6   R   R}   R   R4   R   R   R   RX   R~   R2   t!   expect_block_mapping_simple_valueRf   R#   RY   t   expect_block_mapping_value(   R   RI   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR…   €  s    
c         C   s7   |  i  d t ƒ |  i i |  i ƒ |  i d t ƒ d  S(   Nu   :Ru   (   RY   R   R   R2   R…   Rf   R#   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR†   Ž  s    c         C   sG   |  i  ƒ  |  i d t d t ƒ|  i i |  i ƒ |  i d t ƒ d  S(   Nu   :R%   Ru   (   RX   RY   R#   R   R2   R…   Rf   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR‡   “  s    
c         C   s1   t  |  i t ƒ o |  i o t  |  i d t ƒ S(   Ni    (   R6   R   R9   R   Rz   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRn   ›  s    c         C   s1   t  |  i t ƒ o |  i o t  |  i d t ƒ S(   Ni    (   R6   R   R:   R   R}   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRq   Ÿ  s    c         C   s{   t  |  i t ƒ p |  i o t Sn |  i d } t  | t ƒ o7 | i d  j o' | i d  j o | i	 o | i
 d j S(   Ni    u    (   R6   R   R7   R   R   Ri   Rw   R   t   tagRb   t   value(   R   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRW   £  s
     c         C   s  d } t  |  i t ƒ oV |  i i d  j	 oC |  i d  j o |  i |  i i ƒ |  _ n | t |  i ƒ 7} n t  |  i t t	 f ƒ oV |  i i
 d  j	 oC |  i d  j o |  i |  i i
 ƒ |  _ n | t |  i ƒ 7} n t  |  i t ƒ oF |  i d  j o |  i |  i i ƒ |  _ n | t |  i i ƒ 7} n | d j  oY t  |  i t ƒ pF t  |  i t ƒ o |  i i o |  i i p |  i ƒ  p
 |  i ƒ  S(   Ni    i€   (   R6   R   t	   NodeEventRw   R   R,   t   prepare_anchorR?   Ri   R;   Rˆ   R-   t   prepare_tagR.   t   analyze_scalarR‰   R   Rg   R   R	   Rn   Rq   (   R   t   length(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR~   ª  s$    & c         C   s‚   |  i  i d  j o d  |  _ d  Sn |  i d  j o |  i |  i  i ƒ |  _ n |  i o |  i | |  i t ƒ n d  |  _ d  S(   N(   R   Rw   R   R,   R‹   RY   R#   (   R   t	   indicator(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRj   À  s    	
c         C   s‰  |  i  i } t |  i  t ƒ oÃ |  i d  j o |  i ƒ  |  _ n |  i p | d  j oS |  i d j o |  i  i d p! |  i d j o" |  i  i d o d  |  _	 d  Sn |  i  i d o  | d  j o d } d  |  _	 qn7 |  i p | d  j o |  i  i o d  |  _	 d  Sn | d  j o t
 d ƒ ‚ n |  i	 d  j o |  i | ƒ |  _	 n |  i	 o |  i |  i	 t ƒ n d  |  _	 d  S(   Nt    i    i   u   !s   tag is not specified(   R   Rˆ   R6   Ri   R/   R   t   choose_scalar_styleR&   Rb   R-   R   RŒ   RY   R#   (   R   Rˆ   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRk   Ê  s,    !!	%	
c         C   s{  |  i  d  j o |  i |  i i ƒ |  _  n |  i i d j p
 |  i o d Sn |  i i oq |  i i d o` |  i o |  i  i	 p
 |  i  i
 o7 |  i o |  i  i p |  i o |  i  i o d SqÐ n |  i i oH |  i i d j o5 |  i o& |  i o |  i  i o |  i i Sq%n |  i i p |  i i d j o1 |  i  i o  |  i o
 |  i  i
 o d Sqwn d S(   Nt   "i    R   s   |>s   '(   R.   R   R   R   R‰   R/   R&   Rb   R    R   R	   R   R
   R   R   R   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR‘   ã  s&    
 !c         C   s'  |  i  d  j o |  i |  i i ƒ |  _  n |  i d  j o |  i ƒ  |  _ n |  i } |  i d j o |  i |  i  i	 | ƒ n |  i d j o |  i
 |  i  i	 | ƒ ne |  i d j o |  i |  i  i	 ƒ n> |  i d j o |  i |  i  i	 ƒ n |  i |  i  i	 | ƒ d  |  _  d  |  _ d  S(   NR’   s   't   >t   |(   R.   R   R   R   R‰   R/   R‘   R    t   write_double_quotedR   t   write_single_quotedt   write_foldedt   write_literalt   write_plain(   R   t   split(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRx   ø  s     
	c         C   sA   | \ } } | d j o t  d | | f ƒ ‚ n d | | f S(   Ni   s   unsupported YAML version: %d.%du   %d.%d(   R   (   R   RK   t   majort   minor(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRL     s    c         C   s  | p t  d ƒ ‚ n | d d j p | d d j o t  d | i d ƒ ƒ ‚ n x¨ | d d !D]™ } d | j o
 d	 j n pF d
 | j o
 d j n p( d | j o
 d j n p
 | d j p, t  d | i d ƒ | i d ƒ f ƒ ‚ qd qd W| S(   Ns   tag handle must not be emptyi    u   !iÿÿÿÿs*   tag handle must start and end with '!': %rs   utf-8i   u   0u   9u   At   Zu   at   zu   -_s*   invalid character %r in the tag handle: %r(   R   t   encode(   R   R^   t   ch(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRS     s    " Z*c         C   sx  | p t  d ƒ ‚ n g  } d } } | d d j o
 d } n x| t | ƒ j  oí | | } d | j o
 d j n pI d | j o
 d j n p+ d	 | j o
 d
 j n p | d j o | d 7} qE | | j  o | i | | | !ƒ n | d } } | i d ƒ } x% | D] } | i d t | ƒ ƒ q WqE W| | j  o | i | | | !ƒ n d i | ƒ S(   Ns   tag prefix must not be emptyi    u   !i   u   0u   9u   AR   u   aRž   u   -;/?!:@&=+$,_.~*'()[]s   utf-8u   %%%02Xu    (   R   R?   R2   RŸ   t   ordt   join(   R   R_   t   chunkst   startt   endR    t   data(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRT   #  s*    


Z  c         C   s*  | p t  d ƒ ‚ n | d j o | Sn d  } | } xh |  i D]] } | i | ƒ oG | d j p t | ƒ t | ƒ j  o! |  i | } | t | ƒ } qB qB Wg  } d } } x| t | ƒ j  o| | } d | j o
 d j n pc d | j o
 d j n pE d | j o
 d	 j n p' | d
 j p | d j o | d j o | d 7} q¶ | | j  o | i | | | !ƒ n | d } } | i d ƒ }	 x% |	 D] } | i d t | ƒ ƒ q«Wq¶ W| | j  o | i | | | !ƒ n d i | ƒ }
 | o d | |
 f Sn	 d |
 Sd  S(   Ns   tag must not be emptyu   !i    u   0u   9u   AR   u   aRž   u   -;/?:@&=+$,_.~*'()[]i   s   utf-8u   %%%02Xu    u   %s%su   !<%s>(	   R   R   R+   t
   startswithR?   R2   RŸ   R¡   R¢   (   R   Rˆ   R^   t   suffixR_   R£   R¤   R¥   R    R¦   t   suffix_text(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRŒ   :  sB    
 &

Z  c         C   s¿   | p t  d ƒ ‚ n x¡ | D]™ } d | j o
 d j n pF d | j o
 d j n p( d | j o
 d j n p
 | d j p, t  d	 | i d
 ƒ | i d
 ƒ f ƒ ‚ q q W| S(   Ns   anchor must not be emptyu   0u   9u   AR   u   aRž   u   -_s&   invalid character %r in the anchor: %rs   utf-8(   R   RŸ   (   R   Rw   R    (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR‹   ]  s     Z*c         C   s  | p; t  d | d t d t d t d t d t d t d t ƒ Sn t } t } t } t } t } t } t } t }	 t }
 t } t } t } | i d	 ƒ p | i d
 ƒ o t } t } n t } t | ƒ d j p | d d j } t } t } t } t } d } xø| t | ƒ j  oä| | } | d j om | d j o t } t } n | d j o t } | o
 t } qsn | d j o | o t } t } qþnd | d j o
 t } n | d j o t } | o
 t } qÚn | d j o | o t } t } n | d j o
 t } n | d j p d | j o
 d j n p~ | d j p< d | j o
 d j n p d | j o
 d j n o+ | d j o t } |  i p
 t } qºq¾t } n | d j o  | o" | o | d j o
 t } qgq| o! | d j o t } t } qgq| o | d j o
 t } qgq| d j } | d j o
 t } qt } nµ | p | o¦ | o> | o | o
 t } q	| o
 t } q	| o
 t }	 q	nL | o
 t } n; | o | o
 t } n# | o
 t } n | o
 t } n t } } } } n | p | o‰ | t | ƒ d j or | o | o
 t } nE | o t }
 | o
 t } q n# | o t } | o
 t }	 q n t } } } } n | d 7} | d j } | d t | ƒ j p | | d d j } qWt } t } t } t } t } | p |	 p |
 o t } } } n | o t } } n | o t } } } n | p | o t } } } } n | o t } } n | o
 t } n | o
 t } n t  d | d t d | d | d | d | d | d | ƒ S(   NR   R   R	   R
   R   R   R   R   u   ---u   ...i   u     	
Â…â€¨â€©i    u   #,[]{}&*!|>'"%@`u   ?:u   -u   ,?[]{}u   :u   #u	   
Â…â€¨â€©u   
u    u   ~u   Â…u   Â u   íŸ¿u   î€€u   ï¿½u   ï»¿u
    
Â…â€¨â€©(   R   R#   R   R§   R?   R'   (   R   R   t   block_indicatorst   flow_indicatorst   line_breakst   special_characterst   inline_spacest   inline_breakst   leading_spacest   leading_breakst   trailing_spacest   trailing_breakst   inline_breaks_spacest   mixed_breaks_spacest   preceeded_by_spacet   followed_by_spacet   spacest   breakst   mixedt   leadingt   indexR    t   unicode_charactersR
   R   R   R   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR   g  s
    





+++









%



c         C   s(   t  |  i d ƒ o |  i i ƒ  n d  S(   Nt   flush(   t   hasattrR   R¾   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRc   4  s    c         C   sA   |  i  o3 |  i  i d ƒ o  |  i i d i |  i  ƒ ƒ n d  S(   Ns   utf-16u   Ã¿Ã¾(   R   R§   R   t   writeRŸ   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRF   8  s    c         C   s   |  i  ƒ  d  S(   N(   Rc   (   R   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR[   =  s    c         C   s‹   |  i  p | o
 | } n d | } | |  _  |  i o | |  _ |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i | ƒ d  S(   Nu    (   R$   R%   R"   R?   R   RŸ   R   RÀ   (   R   R   t   need_whitespaceR$   R%   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRY   @  s    

	
c         C   s¿   |  i  p d } |  i p+ |  i | j p |  i | j o |  i o |  i ƒ  n |  i | j  oW t |  _ d | |  i } | |  _ |  i o | i |  i ƒ } n |  i i	 | ƒ n d  S(   Ni    u    (
   R   R%   R"   R$   t   write_line_breakR#   R   RŸ   R   RÀ   (   R   R   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRX   M  s    		
c         C   sx   | d  j o |  i } n t |  _ t |  _ |  i d 7_ d |  _ |  i o | i |  i ƒ } n |  i	 i
 | ƒ d  S(   Ni   i    (   R   R*   R#   R$   R%   R!   R"   R   RŸ   R   RÀ   (   R   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRÂ   Z  s    			
c         C   sH   d | } |  i  o | i |  i  ƒ } n |  i i | ƒ |  i ƒ  d  S(   Nu	   %%YAML %s(   R   RŸ   R   RÀ   RÂ   (   R   R\   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRM   e  s
    

c         C   sN   d | | f } |  i  o | i |  i  ƒ } n |  i i | ƒ |  i ƒ  d  S(   Nu   %%TAG %s %s(   R   RŸ   R   RÀ   RÂ   (   R   R`   Ra   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyRU   l  s
    
c   
      C   s  |  i  d t ƒ t } t } d } } xØ| t | ƒ j oÄd  } | t | ƒ j  o | | } n | oÓ | d  j p | d j oµ | d | j oH |  i |  i j o5 | o. | d j o! | t | ƒ j o |  i ƒ  nS | | | !} |  i t | ƒ 7_ |  i o | i	 |  i ƒ } n |  i
 i | ƒ | } qin-| o‘ | d  j p | d j os | | d j o |  i ƒ  n x= | | | !D]. }	 |	 d j o |  i ƒ  q‹|  i |	 ƒ q‹W|  i ƒ  | } qin• | d  j p | d j p | d j om | | j  o\ | | | !} |  i t | ƒ 7_ |  i o | i	 |  i ƒ } n |  i
 i | ƒ | } qin | d j oS d } |  i d	 7_ |  i o | i	 |  i ƒ } n |  i
 i | ƒ | d } n | d  j	 o | d j } | d j } n | d 7} q) W|  i  d t ƒ d  S(
   Nu   'i    u    i   u	   
Â…â€¨â€©u   
u
    
Â…â€¨â€©u   ''i   (   RY   R#   R   R?   R   R"   R)   RX   R   RŸ   R   RÀ   RÂ   (
   R   t   textRš   R¸   R¹   R¤   R¥   R    R¦   t   br(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR–   u  sd    
+ 
 
'

u   0u    u   au   u   bu   u   tu   	u   nu   
u   vu   u   fu   u   ru   u   eu   u   "u   \u   Nu   Â…u   _u   Â u   Lu   â€¨u   Pu   â€©c         C   sŽ  |  i  d t ƒ d } } x]| t | ƒ j oId  } | t | ƒ j  o | | } n | d  j pr | d j pe d | j o
 d j n pC |  i o9 d | j o
 d j n p d | j o
 d	 j n oD| | j  o\ | | | !} |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i	 | ƒ | } n | d  j	 oÊ | |  i
 j o d
 |  i
 | } nS | d j o d t | ƒ } n2 | d j o d t | ƒ } n d t | ƒ } |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i	 | ƒ | d } qn d | j  o t | ƒ d j  n o)| d j p | | j o|  i | | |  i j oô | oí | | | !d
 } | | j  o
 | } n |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i	 | ƒ |  i ƒ  t |  _ t |  _ | | d j oO d
 } |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i	 | ƒ qkn | d 7} q W|  i  d t ƒ d  S(   Nu   "i    u   "\Â…â€¨â€©ï»¿u    u   ~u   Â u   íŸ¿u   î€€u   ï¿½u   \u   Ã¿u   \x%02Xu   ï¿¿u   \u%04Xu   \U%08Xi   (   RY   R#   R?   R   R'   R"   R   RŸ   R   RÀ   t   ESCAPE_REPLACEMENTSR¡   R)   RX   R   R$   R%   (   R   RÃ   Rš   R¤   R¥   R    R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR•   ½  sf    




B"


		
c         C   si   | d } x" t  | ƒ d j  o d | } q W| d d j o! | d d j o d Sqe d Sn d Sd  S(	   Niþÿÿÿi   u    iÿÿÿÿu	   
Â…â€¨â€©u   +u    u   -(   R?   (   R   RÃ   t   tail(    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyt   determine_chompó  s    
c         C   s»  |  i  | ƒ } |  i d | t ƒ |  i ƒ  t } t } t } d } } xk| t | ƒ j oWd  } | t | ƒ j  o | | } n | oÐ | d  j p | d j o² | o9 | d  j	 o, | d j o | | d j o |  i ƒ  n | d j } x= | | | !D]. }	 |	 d j o |  i ƒ  q|  i |	 ƒ qW| d  j	 o |  i ƒ  n | } qn#| oŸ | d j oŽ | d | j o! |  i |  i	 j o |  i ƒ  nS | | | !}
 |  i t |
 ƒ 7_ |  i
 o |
 i |  i
 ƒ }
 n |  i i |
 ƒ | } qn} | d  j p | d j ob | | | !}
 |  i
 o |
 i |  i
 ƒ }
 n |  i i |
 ƒ | d  j o |  i ƒ  n | } n | d  j	 o | d j } | d j } n | d 7} qL Wd  S(   Nu   >i    u	   
Â…â€¨â€©u    u   
i   u
    
Â…â€¨â€©(   RÇ   RY   R#   RX   R   R?   R   RÂ   R"   R)   R   RŸ   R   RÀ   (   R   RÃ   t   chompt   leading_spaceR¸   R¹   R¤   R¥   R    RÄ   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR—   ÿ  s^    

" $


c   	      C   s°  |  i  | ƒ } |  i d | t ƒ |  i ƒ  t } d } } xl| t | ƒ j oXd  } | t | ƒ j  o | | } n | oƒ | d  j p | d j oe x= | | | !D]. } | d j o |  i ƒ  q© |  i | ƒ q© W| d  j	 o |  i ƒ  n | } q€n} | d  j p | d j ob | | | !} |  i o | i	 |  i ƒ } n |  i
 i | ƒ | d  j o |  i ƒ  n | } n | d  j	 o | d j } n | d 7} q@ Wd  S(   Nu   |i    u	   
Â…â€¨â€©u   
i   (   RÇ   RY   R#   RX   R   R?   R   RÂ   R   RŸ   R   RÀ   (	   R   RÃ   RÈ   R¹   R¤   R¥   R    RÄ   R¦   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR˜   2  s<    

 

c   
      C   sÛ  | p d  Sn |  i  pO d } |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i | ƒ n t |  _ t |  _	 t } t } d } } xD| t | ƒ j o0d  } | t | ƒ j  o | | } n | o¸ | d j o§ | d | j o: |  i |  i j o' | o  |  i ƒ  t |  _ t |  _	 nS | | | !} |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i | ƒ | } qŸn| o– | d j o… | | d j o |  i ƒ  n x= | | | !D]. }	 |	 d j o |  i ƒ  qÍ|  i |	 ƒ qÍW|  i ƒ  t |  _  t |  _	 | } qŸnw | d  j p | d j o\ | | | !} |  i t | ƒ 7_ |  i o | i |  i ƒ } n |  i i | ƒ | } n | d  j	 o | d j } | d j } n | d 7} q“ Wd  S(   Nu    i    i   u	   
Â…â€¨â€©u   
u
    
Â…â€¨â€©(   R$   R"   R?   R   RŸ   R   RÀ   R   t
   writespaceR%   R   R)   RX   RÂ   (
   R   RÃ   Rš   R¦   R¸   R¹   R¤   R¥   R    RÄ   (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR™   S  sj    

		
+
	
 
		

(A   R   R   RN   R   R   R5   R3   R8   R   RD   R   RH   RG   RJ   Rd   RZ   Rf   Rh   Rl   Ro   Ry   R{   Rr   R|   R   R   R€   Rp   R‚   Rƒ   Rs   R„   R…   R†   R‡   Rn   Rq   RW   R~   Rj   Rk   R‘   Rx   RL   RS   RT   RŒ   R‹   R   Rc   RF   R[   RY   RX   RÂ   RM   RU   R#   R–   RÅ   R•   RÇ   R—   R˜   R™   (    (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pyR    !   sž   		@					
																											
							#	
	Í							6														6		3	!(	   t   __all__t   errorR   R   t   reR   t   objectR   R    (    (    (    s"   /p/zhu/06/nlp/nltk/yaml/emitter.pys   <module>	   s   
