
B_Kc           @   s^   d  d k  l Z d  d k Td  d k Td  d k Td e f d     YZ d e f d     YZ d S(   i(   t   DependencyGraph(   t   *t   DependencyCorpusReaderc           B   st   e  Z e e   e d  d e e d  Z e d  Z e d  Z	 e d  Z
 e d  Z e d  Z e d  Z RS(	   s   
t   gapsc         C   s   t  i |  | | |  d  S(   N(   t   CorpusReadert   __init__(   t   selft   roott   fileidst   encodingt   word_tokenizert   sent_tokenizert   para_block_reader(    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyR      s    c         C   s:   t  g  } |  i |  D] } | t |  i   q ~  S(   sW   
        @return: the given file(s) as a single string.
        @rtype: C{str}
        (   t   concatt   abspathst   opent   read(   R   R   t   _[1]t   fileid(    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   raw   s    
c      	   C   s=   t  g  } |  i |  D] } | t | t t t  q ~  S(   N(   R   R   t   DependencyCorpusViewt   False(   R   R   R   R   (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   words#   s    
c      	   C   s=   t  g  } |  i |  D] } | t | t t t  q ~  S(   N(   R   R   R   t   TrueR   (   R   R   R   R   (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   tagged_words'   s    
c      	   C   s=   t  g  } |  i |  D] } | t | t t t  q ~  S(   N(   R   R   R   R   R   (   R   R   R   R   (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   sents+   s    
c      	   C   s=   t  g  } |  i |  D] } | t | t t t  q ~  S(   N(   R   R   R   R   R   (   R   R   R   R   (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   tagged_sents/   s    
c      	   C   sd   t  g  } |  i |  D] } | t | t t t  q ~  } g  } | D] } | t |  qJ ~ S(   N(   R   R   R   R   R   R    (   R   R   R   R   R   t   _[2]t   sent(    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt   parsed_sents3   s    
5(   t   __name__t
   __module__t   Nonet   TabTokenizert   RegexpTokenizerR   t   read_blankline_blockR   R   R   R   R   R   R   (    (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyR      s   R   c           B   s#   e  Z d  Z e d  Z d   Z RS(   s   -DOCSTART- -DOCSTART- O
c         C   s8   | |  _  | |  _ | |  _ | |  _ t i |  |  d  S(   N(   t   _taggedt   _dependenciest   _group_by_sentt   _chunk_typest   StreamBackedCorpusViewR   (   R   t   corpus_filet   taggedt   group_by_sentt   dependenciest   chunk_types(    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyR   <   s
    				c      	   C   s  t  |  d i   } | i |  i  o | t |  i  i   } n |  i p#g  } | i d  D] } | | i d  qd ~ } t | d  d j p t | d  d j o3 g  } | D] } | | d | d f q ~ } nW t | d  d j o3 g  } | D] } | | d | d f q~ } n t d   |  i	 p+ g  } | D] \ }	 }
 | |	 qO~ } qsn |  i
 o | g Sn t |  Sd  S(	   Ni    s   
s   	i   i   i   i
   s3   Unexpected number of fields in dependency tree file(   R#   t   stript
   startswitht	   _DOCSTARTt   lent   lstripR%   t   splitt
   ValueErrorR$   R&   t   list(   R   t   streamR   R   t   linet   linesR   t   _[3]t   _[4]t   wordt   tag(    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyt
   read_blockD   s    
3.33
/
(   R   R   R0   R    R   R=   (    (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pyR   9   s   N(	   t
   nltk.parseR    t   nltk.tokenizet   utilt   apit   SyntaxCorpusReaderR   R(   R   (    (    (    s3   /p/zhu/06/nlp/nltk/nltk/corpus/reader/dependency.pys   <module>
   s
   


)