U
    YSh 7                     @   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dS )   )BaseStemmer)Amongc                   @   s  e Zd ZdZdddddddhZdddddddd	hZdddddddd
hZdZdZdZ	dZ
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  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d0dd1ed2dd1gZed!d"d+ed	dd(ed3dd%gZed4d"d"ed5d"d"ed6d"d"gZed7d"d(ed8d"d+ed9d"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dAd"d1gZedBd"d"edCd"d"edDd"d"edEd"d"gZdFS )GDutchPorterStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from dutch_porter.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiouy   èIj    Fc           	      C   s  | j }| j }z| j | _| tj}| j | _|dkrD| dsW dS n|dkr^| dsW dS nn|dkrx| dsW dS nT|dkr| d	sW dS n:|d
kr| dsW dS n | j | jkrt |  j d7  _ W qW n tk
r   Y nX || _ qq|| _ | j }z>| j | _| 	ds || _ t
 | j | _| ds:W dS W n t
k
rR   Y nX | j }zF| tjsrt |  j d7  _ | j }z| j | _z| j }zz| 	dst | j | _| j }z2| tjst | dsW W W W W dS W n tk
r   Y nX || _ t W n tk
r(   Y nX || _ | 	dsH|| _ t | j | _| dsfW W W dS W n tk
r~   Y nX W n tk
r   Y nX W qTW n tk
r   Y nX || _ qȐqTdS )Nr   r   F   r      r      r      r	   r
   Yr   T)cursorbra
find_amongr   a_0ket
slice_fromlimitlab0Zeq_slab1go_out_groupingg_vlab2lab5Zin_groupinglab6lab4lab3)	selfv_1v_2	among_varv_3v_4v_5v_6v_7 r-   W/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/dutch_porter_stemmer.pyZ__r_prelude   s    




 
  
  
 
 zDutchPorterStemmer.__r_preludec                 C   s  | j | _| j | _| j}| jd }|| j kr.dS || _| j| _|| _| tjsRdS |  jd7  _| tjspdS |  jd7  _| j| _z| j| jkrt	 | j| _W n t	k
r   Y nX | tjsdS |  jd7  _| tjsdS |  jd7  _| j| _dS )Nr   Fr   T)
r   I_p1I_p2r   I_xr   r   r   Zgo_in_groupingr   )r$   r%   cr-   r-   r.   Z__r_mark_regionsk   s<    

 z#DutchPorterStemmer.__r_mark_regionsc                 C   s   | j }zx| j | _| tj}| j | _|dkr>| dsxW dS n:|dkrX| dsxW dS n | j | jkrjt |  j d7  _ W q W n tk
r   Y nX || _ qq dS )Nr   r
   Fr   r   T)	r   r   r   r   a_1r   r   r   r   )r$   r%   r'   r-   r-   r.   Z__r_postlude   s(    

 zDutchPorterStemmer.__r_postludec                 C   s   | j | jkS N)r/   r   r$   r-   r-   r.   Z__r_R1   s    zDutchPorterStemmer.__r_R1c                 C   s   | j | jkS r4   )r0   r   r5   r-   r-   r.   Z__r_R2   s    zDutchPorterStemmer.__r_R2c                 C   sj   | j | j }| tjdkr dS | j | | _| j| _| j| jkrDdS |  jd8  _| j| _|  sfdS dS )Nr   Fr   T)	r   r   find_among_br   a_2r   limit_backwardr   	slice_delr$   r%   r-   r-   r.   Z__r_undouble   s    zDutchPorterStemmer.__r_undoublec                 C   sz   d| _ | j| _| dsdS | j| _|  s0dS | j| j }| tj	sLdS | j| | _| 
 sddS d| _ |  svdS dS )NFr   T)	B_e_foundr   r   eq_s_br   _DutchPorterStemmer__r_R1r   out_grouping_br   r   r9   _DutchPorterStemmer__r_undoubler:   r-   r-   r.   Z__r_e_ending   s"    
zDutchPorterStemmer.__r_e_endingc                 C   s   |   sdS | j| j }| tjs(dS | j| | _| j| j }z| dsRt W dS  tk
rj   Y nX | j| | _|  sdS | 	 sdS dS )NFgemT)
r=   r   r   r>   r   r   r<   r   r9   r?   )r$   r%   r&   r-   r-   r.   Z__r_en_ending   s&    
 z DutchPorterStemmer.__r_en_endingc                 C   sF  | j | j }z| j| _| tj}|dkr0t | j| _|dkr`|  sNt | 	dsW dS nF|dkrx| 
 st n.|  st | tjst |  sW dS W n tk
r   Y nX | j | | _| j | j }|   | j | | _| j | j }z| j| _| dst | j| _|  s*t | j | j }z| dsJt t W n tk
rh   Y nX | j | | _|  sW dS | j| _| dst | j| _| 
 st W n tk
r   Y nX | j | | _| j | j }zd| j| _| tj}|dkrt | j| _|dkr@|  s4t |  sDW dS z| j | j }z| j| _| dsnt | j| _|  st | j | j }z| d	st t W n tk
r   Y nX | j | | _|  sW W W dS t W n tk
r   Y nX | j | | _|  s"t W n tk
r:   Y nX n|dkr|  sZt | j | j }	z| d	szt t W n tk
r   Y nX | j |	 | _|  sNW dS n|d
kr|  st |  sW dS |  sNt nZ|dkr |  st |  sNW dS n.|  s0t | js>t |  sNW dS W n tk
rf   Y nX | j | | _| j | j }
z| tjst | j | j }| tjdkrt | tjst | j | | _| j| _| j| jkrt |  jd8  _| j| _|  sW dS W n tk
r4   Y nX | j |
 | _dS )Nr   r   ZheidFr   r2   enigr   r   r   T) r   r   r   r6   r   a_3r   r   r=   r    _DutchPorterStemmer__r_en_endingr>   g_v_jr9   _DutchPorterStemmer__r_e_endingr<   r   _DutchPorterStemmer__r_R2r   a_4r#   r    r!   r"   r?   lab7r;   g_v_Ilab8a_5r   r8   )r$   r%   r'   r&   r(   r)   r*   r+   r,   Zv_8Zv_9Zv_10r-   r-   r.   Z__r_standard_suffix   s(   

 

 


 





 


 

 



 










 

 z&DutchPorterStemmer.__r_standard_suffixc                 C   s`   | j }|   || _ | j }|   || _ | j | _| j| _ |   | j| _ | j }|   || _ dS )NT)r   _DutchPorterStemmer__r_prelude#_DutchPorterStemmer__r_mark_regionsr8   r   &_DutchPorterStemmer__r_standard_suffix_DutchPorterStemmer__r_postlude)r$   r%   r&   r)   r-   r-   r.   _stemw  s    zDutchPorterStemmer._stem       ár      ä   ér      ë   ír      ï   ór      ö   úr      ür   ddkkttZeneserA   ZhedensendrB   ZingZlijkZbaarbarZaaeeZoouuN)__name__
__module____qualname____doc__r   rJ   rE   r1   r0   r/   r;   rM   rN   rP   r=   rG   r?   rF   rD   rO   rQ   r   r   r3   r7   rC   rH   rL   r-   r-   r-   r.   r      sr   R 





















	










r   c                   @   s   e Zd ZdS )r   Nrh   ri   rj   r-   r-   r-   r.   r     s    r   c                   @   s   e Zd ZdS )r   Nrl   r-   r-   r-   r.   r     s    r   c                   @   s   e Zd ZdS )r   Nrl   r-   r-   r-   r.   r     s    r   c                   @   s   e Zd ZdS )r#   Nrl   r-   r-   r-   r.   r#     s    r#   c                   @   s   e Zd ZdS )r"   Nrl   r-   r-   r-   r.   r"     s    r"   c                   @   s   e Zd ZdS )r    Nrl   r-   r-   r-   r.   r      s    r    c                   @   s   e Zd ZdS )r!   Nrl   r-   r-   r-   r.   r!     s    r!   c                   @   s   e Zd ZdS )rI   Nrl   r-   r-   r-   r.   rI     s    rI   c                   @   s   e Zd ZdS )rK   Nrl   r-   r-   r-   r.   rK     s    rK   N)Zbasestemmerr   Zamongr   r   BaseExceptionr   r   r   r#   r"   r    r!   rI   rK   r-   r-   r-   r.   <module>   s      5