ó
ed›]c           @   s   d  e  f d „  ƒ  YZ d S(   t   BaseStemmerc           B   sé   e  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 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   |  j  d ƒ d  S(   Nt    (   t   set_current(   t   self(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   __init__   s    c         C   sI   | |  _  d |  _ t |  j  ƒ |  _ d |  _ |  j |  _ |  j |  _ d S(   s.   
        Set the self.current string.
        i    N(   t   currentt   cursort   lent   limitt   limit_backwardt   brat   ket(   R   t   value(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyR      s    			c         C   s   |  j  S(   s.   
        Get the self.current string.
        (   R   (   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   get_current   s    c         C   sL   | j  |  _  | j |  _ | j |  _ | j |  _ | j |  _ | j |  _ d  S(   N(   R   R   R   R	   R
   R   (   R   t   other(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt	   copy_from   s    c         C   s‰   |  j  |  j k r t St |  j |  j  ƒ } | | k sD | | k  rH t S| | 8} | | d ?d | d @>@d k rv t S|  j  d 7_  t S(   Ni   i   i   i    (   R   R   t   Falset   ordR   t   True(   R   t   st   mint   maxt   ch(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   in_grouping   s    
 c         C   sŒ   x… |  j  |  j k  r‡ t |  j |  j  ƒ } | | k sC | | k  rG t S| | 8} | | d ?d | d @>@d k ru t S|  j  d 7_  q Wt S(   Ni   i   i   i    (   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   go_in_grouping*   s    
 c         C   s   |  j  |  j k r t St |  j |  j  d ƒ } | | k sH | | k  rL t S| | 8} | | d ?d | d @>@d k rz t S|  j  d 8_  t S(   Ni   i   i   i    (   R   R	   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   in_grouping_b5   s    
 c         C   s   x‰ |  j  |  j k r‹ t |  j |  j  d ƒ } | | k sG | | k  rK t S| | 8} | | d ?d | d @>@d k ry t S|  j  d 8_  q Wt S(   Ni   i   i   i    (   R   R	   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   go_in_grouping_bA   s    
 c         C   s˜   |  j  |  j k r t St |  j |  j  ƒ } | | k sD | | k  rW |  j  d 7_  t S| | 8} | | d ?d | d @>@d k r” |  j  d 7_  t St S(   Ni   i   i   i    (   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   out_groupingL   s    
 c         C   s…   x~ |  j  |  j k  r€ t |  j |  j  ƒ } | | k rn | | k rn | | 8} | | d ?d | d @>@rn t Sn  |  j  d 7_  q Wt S(   Ni   i   i   (   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   go_out_groupingY   s    
c         C   sœ   |  j  |  j k r t St |  j |  j  d ƒ } | | k sH | | k  r[ |  j  d 8_  t S| | 8} | | d ?d | d @>@d k r˜ |  j  d 8_  t St S(   Ni   i   i   i    (   R   R	   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   out_grouping_bc   s    
 c         C   s‰   x‚ |  j  |  j k r„ t |  j |  j  d ƒ } | | k rr | | k rr | | 8} | | d ?d | d @>@rr t Sn  |  j  d 8_  q Wt S(   Ni   i   i   (   R   R	   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   go_out_grouping_bp   s    
c         C   sc   |  j  |  j t | ƒ k  r  t S|  j |  j |  j t | ƒ !| k rJ t S|  j t | ƒ 7_ t S(   N(   R   R   R   R   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   eq_sz   s    &c         C   sc   |  j  |  j t | ƒ k  r  t S|  j |  j  t | ƒ |  j  !| k rJ t S|  j  t | ƒ 8_  t S(   N(   R   R	   R   R   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   eq_s_b‚   s    &c         C   s  d } t  | ƒ } |  j } |  j } d } d } t } x$t r\| | | d ?}	 d }
 t | | ƒ } | |	 } x| t | t  | j ƒ ƒ D]b } | | | k r© d }
 Pn  t |  j	 | | ƒ t | j | ƒ }
 |
 d k rá Pn  | d 7} q‰ W|
 d k  r
|	 } | } n |	 } | } | | d k r9 | d k r6Pn  | | k rFPn  | rPPn  t } q9 q9 Wx¯ t r| | } | t  | j ƒ k rò| t  | j ƒ |  _ | j
 d  k r±| j St |  | j
 ƒ } | ƒ  } | t  | j ƒ |  _ | rò| j Sn  | j } | d k  r`d Sq`Wd S(   Ni    i   iÿÿÿÿ(   R   R   R   R   R   R   t   rangeR   R   R   t   methodt   Nonet   resultt   getattrt   substring_i(   R   t   vt   it   jt   ct   lt   common_it   common_jt   first_key_inspectedt   kt   difft   commont   wt   i2R"   t   res(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt
   find_amongŠ   s`    			
(		
	
	c         C   s"  d } t  | ƒ } |  j } |  j } d } d } t } x3t rk| | | d ?}	 d }
 t | | ƒ } | |	 } x‹ t t  | j ƒ d | d d ƒ D]f } | | | k r´ d }
 Pn  t |  j	 | d | ƒ t | j | ƒ }
 |
 d k rð Pn  | d 7} q” W|
 d k  r|	 } | } n |	 } | } | | d k r9 | d k rEPn  | | k rUPn  | r_Pn  t } q9 q9 Wx¯ t r| | } | t  | j ƒ k r| t  | j ƒ |  _ | j
 d k rÀ| j St |  | j
 ƒ } | ƒ  } | t  | j ƒ |  _ | r| j Sn  | j } | d k  rod SqoWd S(   sO   
        find_among_b is for backwards processing. Same comments apply
        i    i   iÿÿÿÿN(   R   R   R	   R   R   R   R!   R   R   R   R"   R#   R$   R%   R&   (   R   R'   R(   R)   R*   t   lbR,   R-   R.   R/   R0   R1   R2   R3   R"   R4   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   find_among_bÄ   s`    			
*,		
	
	c         C   s…   t  | ƒ | | } |  j d | !| |  j | |  _ |  j | 7_ |  j | k rf |  j | 7_ n |  j | k r | |  _ n  | S(   s®   
        to replace chars between c_bra and c_ket in self.current by the
        chars in s.

        @type c_bra int
        @type c_ket int
        @type s: string
        i    (   R   R   R   R   (   R   t   c_brat   c_ketR   t
   adjustment(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt	   replace_sþ   s    	"c         C   sS   |  j  d k  sK |  j  |  j k sK |  j |  j k sK |  j t |  j ƒ k rO t St S(   Ni    (   R
   R   R   R   R   R   R   (   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   slice_check  s    Kc         C   s8   t  } |  j ƒ  r4 |  j |  j |  j | ƒ t } n  | S(   s    
        @type s string
        (   R   R<   R;   R
   R   R   (   R   R   R$   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt
   slice_from  s
    	c         C   s   |  j  d ƒ S(   NR   (   R=   (   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt	   slice_del  s    c         C   s[   |  j  | | | ƒ } | |  j k r6 |  j | 7_ n  | |  j k rW |  j | 7_ n  d S(   sQ   
        @type c_bra int
        @type c_ket int
        @type s: string
        N(   R;   R
   R   (   R   R8   R9   R   R:   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   insert"  s
    c         C   s/   d } |  j  ƒ  r+ |  j |  j |  j !} n  | S(   s/   
        Return the slice as a string.
        R   (   R<   R   R
   R   (   R   R$   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   slice_to.  s    c         C   s   |  j  d |  j !S(   s<   
        Return the current string up to the limit.
        i    (   R   R   (   R   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt	   assign_to7  s    c         C   s!   |  j  | ƒ |  j ƒ  |  j ƒ  S(   N(   R   t   _stemR   (   R   t   word(    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   stemWord=  s    
c         C   s    g  | D] } |  j  | ƒ ^ q S(   N(   RD   (   R   t   wordsRC   (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt	   stemWordsB  s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R   R   R   R   R    R5   R7   R;   R<   R=   R>   R?   R@   RA   RD   RF   (    (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyR       s2   										
		
			:	:			
						N(   t   objectR    (    (    (    s:   lib/python2.7/site-packages/snowballstemmer/basestemmer.pyt   <module>   R   