a
    aW                     @   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dS )   )BaseStemmer)Amongc                   @   s,  e 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?d5d@edAdd1edBdd@edCdDdEedFddEedGdd@edHdd=edIdd3edJdd7gZ
edKdd/edLddEedMddedNdd/edOdd/ed>dded?d9dedPdd9edQdd9g	ZedRdd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dcddd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d3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g dZg dZg dZdZd	Zd	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%dS )EnglishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ZarsenZcommunZgener'r   z's'    z'sZied   s   ZiesZssesssus ZbbddZffZggZblZmmnnppZrrZat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fulnessZ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lyingnewsZonlyZsinglyZskiesZskisskyZtyingZugly)r   A   r*   r   )r   r   r/      r   )7      r   Fc                 C   s  d| _ | j}z2| j| _| ds&t | j| _|  s<W dS W n tyP   Y n0 || _| j}z:| j| _| dsxt | j| _| dsW dS d| _ W n ty   Y n0 || _| j}z| j}zz| j}zF| 	t
jddst | j| _| dst | j| _|| _t W n ty$   Y n0 || _| j| jkr@t |  jd7  _qW n tyf   Y n0 | ds|W W dS d| _ W qW n ty   Y n0 || _qqW n ty   Y n0 || _dS )	NFr   yYTa   y   r   )	B_Y_foundcursorbraeq_slab0ket	slice_dellab1
slice_fromZin_groupingr   g_vlab5lab4limitlab3lab2)selfv_1v_2v_3Zv_4v_5 rK   >lib/python3.9/site-packages/snowballstemmer/english_stemmer.pyZ__r_prelude   sj    







zEnglishStemmer.__r_preludec                 C   s2  | j | _| j | _| j}zz| j}z | tjdkr8t t W n tyR   Y n0 || _| 	tj
ddspt |  jd7  _| tj
ddst |  jd7  _W n ty   Y n0 | j| _| 	tj
ddst |  jd7  _| tj
ddst |  jd7  _| j| _W n ty&   Y n0 || _dS )Nr   r5   r6   r   T)rC   I_p1I_p2r8   
find_amongr   a_0rE   r>   Zgo_out_groupingr@   r;   Zgo_in_groupingrF   rG   rH   rK   rK   rL   Z__r_mark_regions   s<    
zEnglishStemmer.__r_mark_regionsc                 C   s   z| j | j }zL| tjdds&t | tjdds<t | tjddsRt t W n tyl   Y n0 | j | | _| tjddsW dS | tjddsW dS | j| j	krW dS W n ty   Y n0 dS )NY   r6   r5   FT)
rC   r8   out_grouping_br   g_v_WXYr>   in_grouping_br@   r;   limit_backwardrF   rG   rK   rK   rL   Z
__r_shortv   s(    

zEnglishStemmer.__r_shortvc                 C   s   | j | jksdS dS NFT)rM   r8   rF   rK   rK   rL   Z__r_R1  s    zEnglishStemmer.__r_R1c                 C   s   | j | jksdS dS rX   )rN   r8   rY   rK   rK   rL   Z__r_R2  s    zEnglishStemmer.__r_R2c                 C   s  | j | j }zD| j| _| tjdkr8| j | | _t | j| _|  sNW dS W n tyb   Y n0 | j| _| tj	}|dkrdS | j| _|dkr| 
dsdS n|dkrFz| j | j }z<| jd }|| jk rt || _| 
dsW W dS t W n ty   Y n0 | j | | _| 
ds,W dS W n tyB   Y n0 n\|dkr| j| jkrbdS |  jd8  _| tjd	d
sdS |  jd8  _|  sdS dS )Nr   Fr   r   r   iZier
   r5   r6   T)rC   r8   r<   find_among_br   a_1r;   r9   r=   a_2r?   rV   rE   r>   go_out_grouping_br@   )rF   rG   	among_varrH   crK   rK   rL   Z__r_Step_1a   sX    









zEnglishStemmer.__r_Step_1ac                 C   s  | j | _| tj}|dkr dS | j | _|dkrN|  s<dS | dsJdS n>| j| j  }| 	tj
ddsndS |  j d8  _ | j| | _ |  sdS | j| j  }| tj}|dkrdS | j| | _ |dkr| j }| | j | j d || _ n|dkr6| j | _| j | jkrdS |  j d8  _ | j | _|  sdS nV| j | jkrHdS | j| j  }|  sbdS | j| | _ | j }| | j | j d || _ d	S )
Nr   Fr   eer5   r6   r+   r   T)r8   r<   r[   r   a_4r9   _EnglishStemmer__r_R1r?   rC   r^   r@   r=   a_3insertrV   rM   _EnglishStemmer__r_shortv)rF   r_   rG   rH   r`   rI   rK   rK   rL   Z__r_Step_1bP  sX    



zEnglishStemmer.__r_Step_1bc                 C   s   | j | _zZ| j| j  }z| ds(t t W n tyB   Y n0 | j| | _ | ds`W dS W n tyt   Y n0 | j | _| tj	ddsdS z| j | j
krt W dS  ty   Y n0 | dsdS dS )Nr3   r4   Fr5   r6   rZ   T)r8   r<   rC   eq_s_br>   r;   r9   rS   r   r@   rV   rE   r?   rW   rK   rK   rL   Z__r_Step_1c  s.    




zEnglishStemmer.__r_Step_1cc                 C   s  | j | _| tj}|dkr dS | j | _|  s4dS |dkrN| dsJdS n|dkrh| dsddS nx|dkr| ds~dS n^|d	kr| d
sdS nD|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 n|dkr<| dsdS n|dkrX| dsdS n|dkrt| dsdS nl|dkr| dsdS | dsdS n@|dkr| dsdS n$| 	tj
d d!sdS |  sdS d"S )#Nr   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   Zlessc   t   T)r8   r<   r[   r   a_5r9   rc   r?   rg   rU   
g_valid_LIr=   rF   r_   rK   rK   rL   Z
__r_Step_2  sp    














zEnglishStemmer.__r_Step_2c                 C   s   | j | _| tj}|dkr dS | j | _|  s4dS |dkrL| dsdS nv|dkrd| dsdS n^|dkr|| dsdS nF|d	kr| d
sdS n.|dkr|  sdS n| 	 sdS |  sdS dS )Nr   Fr   rh   r   r$   r
   r'   r   r    r   T)
r8   r<   r[   r   a_6r9   rc   r?   r=   _EnglishStemmer__r_R2rm   rK   rK   rL   Z
__r_Step_3  s6    



zEnglishStemmer.__r_Step_3c                 C   s   | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  sdS nzzZ| j| j  }z| 	dsjt
 t W n t
y   Y n0 | j| | _ | 	dsW dS W n ty   Y n0 |  sdS dS )Nr   Fr   r	   tT)r8   r<   r[   r   a_7r9   ro   r=   rC   rg   r>   r;   )rF   r_   rG   rK   rK   rL   Z
__r_Step_4  s0    



zEnglishStemmer.__r_Step_4c                 C   s  | j | _| tj}|dkr dS | j | _|dkrz| j| j  }z|  sNt t	 W n tyh   Y n0 | j| | _ | 
 sW dS | j| j  }z|  st W W dS  ty   Y n0 | j| | _ W n t	y   Y n0 |  sdS n*|  sdS | dsdS |  sdS dS )Nr   Fr   r,   T)r8   r<   r[   r   a_8r9   rC   ro   r>   r;   rc   rf   rE   r=   rg   )rF   r_   rG   rH   rK   rK   rL   Z
__r_Step_5  sB    

zEnglishStemmer.__r_Step_5c                 C   s8   | j | _| tjdkrdS | j | _| j | jkr4dS dS )Nr   FT)r8   r<   r[   r   a_9r9   rV   rY   rK   rK   rL   Z__r_exception2:  s    zEnglishStemmer.__r_exception2c                 C   sN  | j | _| tj}|dkr dS | j | _| j | jk r8dS |dkrP| dsNdS n|dkrh| dsfdS n|dkr| ds~d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 nj|dkr| dsdS nR|dkr| dsJdS n6|dkr0| dsJdS n|dkrJ| dsJdS dS )Nr   Fr   Zskir   r.   r
   Zdier   Zlier   Ztier   Zidlr   Zgentlr   Zuglir   Zearlir   Zonlir   ZsinglT)r8   r9   rO   r   a_10r<   rC   r?   rm   rK   rK   rL   Z__r_exception1C  sR    










zEnglishStemmer.__r_exception1c                 C   s   | j s
dS | j}zzv| j}z0| j| _| ds4t | j| _|| _t W n ty\   Y n0 || _| j| jkrvt |  jd7  _qW n ty   Y n0 | 	dsW dS W q
W n ty   Y n0 || _qq
dS )NFr4   r   r3   T)
r7   r8   r9   r:   rE   r<   r>   rC   r;   r?   rQ   rK   rK   rL   Z__r_postluden  s4    


zEnglishStemmer.__r_postludec                 C   sF  z*| j }z|  st t W n ty4   Y n0 || _ zT| j }z*| j d }|| jkr`t || _ t W n ty   Y n0 || _ t W n ty   Y n0 || _ |   |   | j | _	| j| _ | j| j  }| 
  | j| | _ z| j| j  }z|  st t W n ty(   Y n0 | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }	|   | j|	 | _ | j| j  }
|   | j|
 | _ | j| j  }|   | j| | _ W n ty   Y n0 | j	| _ | j }|   || _ W n ty@   Y n0 dS )Nr
   T)r8   _EnglishStemmer__r_exception1r>   r;   rC   rD   rE   _EnglishStemmer__r_prelude_EnglishStemmer__r_mark_regionsrV   _EnglishStemmer__r_Step_1a_EnglishStemmer__r_exception2rA   rB   _EnglishStemmer__r_Step_1b_EnglishStemmer__r_Step_1c_EnglishStemmer__r_Step_2_EnglishStemmer__r_Step_3_EnglishStemmer__r_Step_4_EnglishStemmer__r_Step_5_EnglishStemmer__r_postlude)rF   rG   rH   r`   rJ   Zv_6Zv_7Zv_8Zv_9Zv_10Zv_11Zv_12Zv_13rK   rK   rL   _stem  sz    







zEnglishStemmer._stemN)&__name__
__module____qualname____doc__r   rP   r\   r]   rd   rb   rk   rn   rq   rr   rs   rt   r@   rT   rl   r7   rN   rM   rv   rw   rf   rc   ro   rx   rz   r{   r|   r}   r~   r   ry   ru   r   r   rK   rK   rK   rL   r      s   















































































































: 02< &	+r   c                   @   s   e Zd ZdS )r;   Nr   r   r   rK   rK   rK   rL   r;         r;   c                   @   s   e Zd ZdS )r>   Nr   rK   rK   rK   rL   r>     r   r>   c                   @   s   e Zd ZdS )rE   Nr   rK   rK   rK   rL   rE     r   rE   c                   @   s   e Zd ZdS )rD   Nr   rK   rK   rK   rL   rD     r   rD   c                   @   s   e Zd ZdS )rB   Nr   rK   rK   rK   rL   rB     r   rB   c                   @   s   e Zd ZdS )rA   Nr   rK   rK   rK   rL   rA     r   rA   N)Zbasestemmerr   Zamongr   r   BaseExceptionr;   r>   rE   rD   rB   rA   rK   rK   rK   rL   <module>   s        J