B
    ܵ|V                 @   s,  d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZd%S )&   )BaseStemmer)Amongc                   s\  e Zd ZdZdZedddedddedddgZedddedd	ded
ddgZedddedddedddedddedddedddgZedddedd	dedd	dedd	dedd	dedd	dedd	dedd	dedd	dedd	dedd	dedd	dedd	dgZ	ed dded!d	ded"dded#dded$dded%ddgZ
ed&dded'dded(dd)ed*dd+ed,dd-ed.d/d/ed0dd1ed2dd3ed4dd5ed6dd7ed8dd9ed:dd1ed;dd-ed<dd=ed>dded?d3d@edAdd1edBdd@edCdDdEedFddEedGdd@edHdd=edIddJedKdd7gZedLdd/edMddEedNddedOdd/edPdd/ed>dded?d9dedQdd9edRdd9g	ZedSddedTddedUddedVddedWddedXddedYddedZdded[dded\dded]dded^dded_dded`ddedaddedbddedcd5deddd+dgZededdedfddgZedgddedhddediddedjddedkddedlddedmddednddgZedoddedpddedqddedrddedsddedtddJedudd@edvddedwddEedxdd/edyddedzdd7ed{dd=ed|dded}dded~ddeddd9eddd1gZdDdd+dgZddDdddgZdddgZdZd	Zd	Z fddZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Z!dd Z"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)  Z*S )EnglishStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r   ZarsenZcommunZgener'z's'    z'sZied   s   ZiesZssesssus ZbbZddZffZggZblZmmZnnZppZrrZatZttZizZedZeedZingZedlyZeedlyZinglyZanciZenciZogi   Zli   Zbli   Zabli   Zalli   Zfulli   Zlessli   Zousli
   Zentli   ZalitiZbilitiZiviti   ZtionalZational   ZalismZationZization      ZizerZatorZivenessZfulness	   ZousnessZicateZativeZalizeZicitiZicalfulZnessicanceenceableZibleateiveizeZitialZismZionZerousZantentZmentZementelZsucceedZproceedZexceedZcanningZinningZearringZherringZoutingZandesZatlasZbiasZcosmosZdyingZearlyZgentlyZhoweZidlyZlyingZnewsZonlyZsinglyZskiesZskisskyZtyingZuglyA      7      Fc                s&   |j | _ |j| _|j| _t| d S )N)	B_Y_foundI_p2I_p1super	copy_from)selfother)	__class__ >lib/python3.7/site-packages/snowballstemmer/english_stemmer.pyr2      s    zEnglishStemmer.copy_fromc             C   s$  d| _ | j}y2| j| _| dds(t | j| _|  s<dS W n tk
rR   Y nX || _| j}y:| j| _| dds|t | j| _| dsdS d| _ W n tk
r   Y nX || _| j}yDy&xy | j}yyx| j}yJ| 	t
jddst | j| _| ddst | j| _|| _t W n tk
r>   Y nX || _| j| jkrZt |  jd7  _qW W n tk
r   Y nX | dsdS d| _ t W n tk
r   Y nX || _t W q tk
r   Y qX qW W n tk
r   Y nX W n tk
r   Y nX || _dS )	NFr   r   yYTa   y   )r.   cursorbraeq_slab0ket	slice_dellab1
slice_fromin_groupingr   g_vlab7lab6limitlab5lab4lab3lab2)r3   v_1v_2v_3v_4v_5r6   r6   r7   	r_prelude   s     

 
  
 
  
 zEnglishStemmer.r_preludec             C   s  | j | _| j | _| j}yhy:| j}y"| tjddkr>t t W n tk
rZ   Y nX || _y`xZy | 	tj
dds~t t W n tk
r   Y nX | j| j krt |  jd7  _qfW W n tk
r   Y nX ydx^y | tj
ddst t W n tk
r   Y nX | j| j kr(t |  jd7  _qW W n tk
rR   Y nX W n tk
rl   Y nX | j| _yhxby"| 	tj
ddst t W n tk
r   Y nX | j| j krt |  jd7  _qzW W n tk
r   Y nX yhxby"| tj
ddst t W n tk
r2   Y nX | j| j krHt |  jd7  _qW W n tk
rt   Y nX | j| _W n tk
r   Y nX || _dS )Nr
   r   r:   r;   r   T)rH   r0   r/   r<   
find_amongr   a_0rL   rB   rD   rE   rJ   rK   r?   Zout_groupingrG   rI   lab8rF   lab10lab9)r3   rM   rN   r6   r6   r7   r_mark_regions  s    
 
  
  
 
  
   zEnglishStemmer.r_mark_regionsc             C   s   y| j | j }yL| tjdds&t | tjdds<t | tjddsRt t W n tk
rn   Y nX | j | | _| tjddsdS | tjddsdS | j| j	krdS W n tk
r   Y nX dS )NY   r;   r:   FT)
rH   r<   out_grouping_br   g_v_WXYrB   in_grouping_brE   r?   limit_backward)r3   rM   r6   r6   r7   r_shortvQ  s,    
  zEnglishStemmer.r_shortvc             C   s   | j | jksdS dS )NFT)r0   r<   )r3   r6   r6   r7   r_R1l  s    zEnglishStemmer.r_R1c             C   s   | j | jksdS dS )NFT)r/   r<   )r3   r6   r6   r7   r_R2q  s    zEnglishStemmer.r_R2c             C   sH  | j | j }yl| j| _| tjd}|dkr>| j | | _t | j| _|dkrb| j | | _t n|dkrv|  svdS W n tk
r   Y nX | j| _| tj	d}|dkrdS | j| _|dkrdS |dkr| 
dsdS nf|dkry| j | j }yH| jd }| j|ks|| j kr t || _| 
ds6dS t W n tk
rT   Y nX | j | | _| 
d	srdS W n tk
r   Y nX n|dkrD| j| jkrdS |  jd8  _yfx`y"| tjd
dst t W n tk
r   Y nX | j| jkrdS |  jd8  _qW W n tk
r4   Y nX |  sDdS dS )Nr
   r   r   Fr   r   r   iZier:   r;   T)rH   r<   r@   find_among_br   a_1r?   r=   rA   a_2rC   r]   rL   rB   r\   rE   rJ   rK   )r3   rM   	among_varrN   cr6   r6   r7   	r_Step_1av  s     



  

  
zEnglishStemmer.r_Step_1ac             C   s  | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkr\|  sJdS | dsXdS n|dkr| j| j  }y^xXy | 	tj
ddst t W n tk
r   Y nX | j | jkrdS |  j d8  _ qvW W n tk
r   Y nX | j| | _ |  s dS | j| j  }| tjd	}|dkr(dS | j| | _ |dkrBdS |dkrl| j }| | j | j d
 || _ n|dkr| j | _| j | jkrdS |  j d8  _ | j | _|  sdS n`|dkr| j | jkrdS | j| j  }|  sdS | j| | _ | j }| | j | j d
 || _ dS )Nr   r   Fr   Zeer   r:   r;   r   r'   r
   T)r<   r@   rb   r   a_4r=   r_   rC   rH   r\   rE   rB   r?   r]   rA   a_3insertr0   r^   )r3   re   rM   rO   rf   rP   r6   r6   r7   	r_Step_1b  sx    


  







zEnglishStemmer.r_Step_1bc             C   s   | j | _y^| j| j  }y| dds*t t W n tk
rF   Y nX | j| | _ | ddsddS W n tk
rz   Y nX | j | _| tj	ddsdS | j| j  }y| j | j
krt dS  tk
r   Y nX | j| | _ | dsdS dS )	Nr   r8   r9   Fr:   r;   ra   T)r<   r@   rH   eq_s_brB   r?   r=   rZ   r   rE   r]   rL   rC   )r3   rM   rN   r6   r6   r7   	r_Step_1c#  s8    
   
zEnglishStemmer.r_Step_1cc             C   s  | j | _| tjd}|dkr"dS | j | _|  s6dS |dkrBdS |dkr\| dsXdS n|dkrv| dsrdS n|dkr| d	sdS n|d
kr| dsdS np|dkr| dsdS nV|dkr| dsdS n<|dkr| dsdS n"|dkr| dsdS n|dkr2| dsdS n|dkrN| dsdS n|dkrj| dsdS n|dkr| dsdS n|dkr| ddsdS | dsdS nf|dkr| dsdS nJ|d kr| d!sdS n.|d"kr| 	tj
d#d$sdS |  sdS d%S )&N   r   Fr   tionr   r   r
   r   r   r    r   r&   r   r#   r   r!   r   r$   r   r   r   r%   r   r"   r   Zbler   r(   Zogr   r   Zlessr   c   t   T)r<   r@   rb   r   a_5r=   r_   rC   rl   r\   
g_valid_LIrA   )r3   re   r6   r6   r7   r_Step_2G  s|    
















zEnglishStemmer.r_Step_2c             C   s   | j | _| tjd}|dkr"dS | j | _|  s6dS |dkrBdS |dkrZ| dsdS n~|dkrr| dsdS nf|dkr| d	sdS nN|d
kr| dsdS n6|dkr|  sdS n |dkr| 	 sdS |  sdS dS )Nr   r   Fr   ro   r   r!   r
   r$   r   r   r   r   T)
r<   r@   rb   r   a_6r=   r_   rC   rA   r`   )r3   re   r6   r6   r7   r_Step_3  s<    



zEnglishStemmer.r_Step_3c             C   s   | j | _| tjd}|dkr"dS | j | _|  s6dS |dkrBdS |dkrX|  sdS n|dkry^| j| j  }y| 	ddst
 t W n t
k
r   Y nX | j| | _ | 	ddsdS W n tk
r   Y nX |  sdS dS )	N   r   Fr   r   r	   tT)r<   r@   rb   r   a_7r=   r`   rA   rH   rl   rB   r?   )r3   re   rM   r6   r6   r7   r_Step_4  s:    
  zEnglishStemmer.r_Step_4c             C   s4  | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkry| j| j  }y|  s\t t	 W n tk
rx   Y nX | j| | _ | 
 sdS | j| j  }y|  st dS  tk
r   Y nX | j| | _ W n t	k
r   Y nX |  sdS n8|dkr0|  sdS | dds"dS |  s0dS dS )Nr   r   Fr   r(   T)r<   r@   rb   r   a_8r=   rH   r`   rB   r?   r_   r^   rL   rA   rl   )r3   re   rM   rN   r6   r6   r7   r_Step_5  sN    
   


zEnglishStemmer.r_Step_5c             C   s:   | j | _| tjddkrdS | j | _| j | jkr6dS dS )Nr   r   FT)r<   r@   rb   r   a_9r=   r]   )r3   r6   r6   r7   r_exception2E  s    zEnglishStemmer.r_exception2c             C   s`  | j | _| tjd}|dkr"dS | j | _| j | jk r:dS |dkrFdS |dkr^| ds\dS n|dkrv| dstdS n|dkr| d	sdS n|d
kr| dsdS n|dkr| dsdS n|dkr| dsdS n|dkr| dsdS nn|dkr
| ds\dS nR|dkr&| ds\dS n6|dkrB| ds\dS n|dkr\| ds\dS dS )Nrw   r   Fr   Zskir   r)   r
   Zdier   Zlier   Ztier   Zidlr   Zgentlr   Zuglir   Zearlir   Zonlir   ZsinglT)r<   r=   rS   r   a_10r@   rH   rC   )r3   re   r6   r6   r7   r_exception1S  sV    










zEnglishStemmer.r_exception1c             C   s  | j s
dS yxy| j}yy~xx| j}y2| j| _| dds>t | j| _|| _t W n tk
rh   Y nX || _| j| jkrt |  jd7  _qW W n tk
r   Y nX | 	dsdS t
 W n tk
r   Y nX || _t W q t
k
r   Y qX qW W n tk
r   Y nX dS )NFr   r9   r8   T)r.   r<   r=   r>   rJ   r@   rK   rH   rL   rC   rB   r?   )r3   rM   rN   r6   r6   r7   
r_postlude  sJ    
  

 
  zEnglishStemmer.r_postludec             C   s  y| j }y|  st t W n tk
r6   Y nX || _ y^| j }y2| j d }d|ksd|| jkrjt || _ t W n tk
r   Y nX || _ t W n tk
r   Y nX || _ | j }y|  st W n tk
r   Y nX || _ | j }y| 	 st
 W n t
k
r   Y nX || _ | j | _| j| _ | j| j  }y|  sRt W n tk
rj   Y nX | j| | _ y| j| j  }y|  st t W n tk
r   Y nX | j| | _ | j| j  }y|  st W n tk
r   Y nX | j| | _ | j| j  }	y|  s(t W n tk
r@   Y nX | j|	 | _ | j| j  }
y|  slt W n tk
r   Y nX | j|
 | _ | j| j  }y|  st W n tk
r   Y nX | j| | _ | j| j  }y|  st W n tk
r   Y nX | j| | _ | j| j  }y|  s8t W n tk
rP   Y nX | j| | _ W n tk
rv   Y nX | j| _ | j }y|  st W n tk
r   Y nX || _ W n tk
r   Y nX dS )Nr
   r   T)r<   r   rB   r?   rH   rK   rL   rR   rJ   rX   rI   r]   rg   rG   r~   rU   rF   rk   rW   rm   rV   rt   lab11rv   lab12rz   lab13r|   lab14r   lab15)r3   rM   rN   rf   rO   rP   rQ   Zv_6Zv_7Zv_8Zv_9Zv_10Zv_11Zv_12Zv_13r6   r6   r7   _stem  s    
 

 
 
 

 

 

 

 

 

 

 

 

  

 
 zEnglishStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r3   or6   r6   r7   equalsG  s    zEnglishStemmer.equalsc             C   s   t dS )Nr   )hash)r3   r6   r6   r7   hashCodeJ  s    zEnglishStemmer.hashCode)+__name__
__module____qualname____doc__ZserialVersionUIDr   rT   rc   rd   ri   rh   rr   ru   ry   r{   r}   r   rE   r[   rs   r.   r/   r0   r2   rR   rX   r^   r_   r`   rg   rk   rm   rt   rv   rz   r|   r~   r   r   r   r   r   __classcell__r6   r6   )r5   r7   r      s  



































































































WLVW$g4+8H, r   c               @   s   e Zd ZdS )r?   N)r   r   r   r6   r6   r6   r7   r?   L  s    r?   c               @   s   e Zd ZdS )rB   N)r   r   r   r6   r6   r6   r7   rB   M  s    rB   c               @   s   e Zd ZdS )rL   N)r   r   r   r6   r6   r6   r7   rL   N  s    rL   c               @   s   e Zd ZdS )rK   N)r   r   r   r6   r6   r6   r7   rK   O  s    rK   c               @   s   e Zd ZdS )rJ   N)r   r   r   r6   r6   r6   r7   rJ   P  s    rJ   c               @   s   e Zd ZdS )rI   N)r   r   r   r6   r6   r6   r7   rI   Q  s    rI   c               @   s   e Zd ZdS )rG   N)r   r   r   r6   r6   r6   r7   rG   R  s    rG   c               @   s   e Zd ZdS )rF   N)r   r   r   r6   r6   r6   r7   rF   S  s    rF   c               @   s   e Zd ZdS )rU   N)r   r   r   r6   r6   r6   r7   rU   T  s    rU   c               @   s   e Zd ZdS )rW   N)r   r   r   r6   r6   r6   r7   rW   U  s    rW   c               @   s   e Zd ZdS )rV   N)r   r   r   r6   r6   r6   r7   rV   V  s    rV   c               @   s   e Zd ZdS )r   N)r   r   r   r6   r6   r6   r7   r   W  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   r6   r6   r6   r7   r   X  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   r6   r6   r6   r7   r   Y  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   r6   r6   r6   r7   r   Z  s    r   c               @   s   e Zd ZdS )r   N)r   r   r   r6   r6   r6   r7   r   [  s    r   N)Zbasestemmerr   Zamongr   r   BaseExceptionr?   rB   rL   rK   rJ   rI   rG   rF   rU   rW   rV   r   r   r   r   r   r6   r6   r6   r7   <module>   s4           M