a
    a48                     @   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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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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gZ
g d)Zg d*Zg d+ZdZdZd,Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> Zd?d@ ZdAS )BDutchStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
           á    r      ä   é      ë   í      ï   ó      ö   ú      üIYddZkkttZeneZseenZhedensendigZingZlijkZbaarZbarZaaeeZoouu)   A      r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	      )r   r	   r	   r!   r"   r#   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r$   )r!   C   r#   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r$   Fc                 C   s  | j }| j }z| j | _| tj}|dkr0t | j | _|dkrR| dsW dS n|dkrl| dsW dS nn|dkr| 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y   Y n0 || _ qq|| _ | j }z>| j | _| 	ds,|| _ t
 | j | _| dsFW dS W n t
y\   Y n0 | j }zbz@| j }z| tjddst | j | _z| j }zV| 	dst | j | _| tjddst | dsW W W W W dS t W n ty   Y n0 || _ | 	ds t | j | _| ds@W W W W dS W n tyV   Y n0 || _ t W n tyz   Y n0 || _ | j | jkrt |  j d7  _ qlW n ty   Y n0 W q^W n ty   Y n0 || _ qq^dS )Nr	   r   aFr   er   ir   or   uyr   a      r   T)cursorbra
find_amongr   a_0lab0ket
slice_fromlimitZeq_slab1Zin_groupingg_vlab4lab6lab5lab3lab2)selfv_1v_2	among_varv_3v_4v_5v_6 rE   <lib/python3.9/site-packages/snowballstemmer/dutch_stemmer.pyZ__r_preludeI   s    








zDutchStemmer.__r_preludec                 C   s   | j | _| j | _| tjdds$dS |  jd7  _| tjddsFdS |  jd7  _| j| _z| jdk snt d| _W n ty   Y n0 | tjddsdS |  jd7  _| tjddsdS |  jd7  _| j| _dS )Nr,   r-   Fr   r   T)	r5   I_p1I_p2Zgo_out_groupingr   r7   r.   Zgo_in_groupingr2   r=   rE   rE   rF   Z__r_mark_regions   s,    

zDutchStemmer.__r_mark_regionsc                 C   s   | j }z| j | _| tj}|dkr*t | j | _|dkrL| dsW dS n:|dkrf| dsW dS n | j | jkrxt |  j d7  _ W q W n ty   Y n0 || _ qq dS )Nr	   r   r+   Fr   r(   T)	r.   r/   r0   r   a_1r2   r3   r4   r5   )r=   r>   r@   rE   rE   rF   Z__r_postlude   s*    

zDutchStemmer.__r_postludec                 C   s   | j | jksdS dS NFT)rG   r.   rI   rE   rE   rF   Z__r_R1   s    zDutchStemmer.__r_R1c                 C   s   | j | jksdS dS rK   )rH   r.   rI   rE   rE   rF   Z__r_R2   s    zDutchStemmer.__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)	r5   r.   find_among_br   a_2r3   limit_backwardr/   	slice_delr=   r>   rE   rE   rF   Z__r_undouble   s    zDutchStemmer.__r_undoublec                 C   s~   d| _ | j| _| dsdS | j| _|  s0dS | j| j }| tj	ddsPdS | j| | _| 
 shdS d| _ |  szdS dS )NFr'   r,   r-   T)	B_e_foundr.   r3   eq_s_br/   _DutchStemmer__r_R1r5   out_grouping_br   r7   rO   _DutchStemmer__r_undoublerP   rE   rE   rF   Z__r_e_ending   s"    
zDutchStemmer.__r_e_endingc                 C   s   |   sdS | j| j }| tjdds,dS | j| | _| j| j }z| dsVt W dS  tyl   Y n0 | j| | _|  sdS | 	 sdS dS )NFr,   r-   ZgemT)
rS   r5   r.   rT   r   r7   rR   r2   rO   rU   )r=   r>   r?   rE   rE   rF   Z__r_en_ending   s$    
zDutchStemmer.__r_en_endingc                 C   s@  | j | j }z| j| _| tj}|dkr0t | j| _|dkr`|  sNt | 	dsW dS nJ|dkrx| 
 st n2|  st | tjddst |  sW dS W n ty   Y n0 | j | | _| j | j }|   | j | | _| j | j }z| j| _| dst | j| _|  s,t | j | j }z| dsLt t W n tyh   Y n0 | j | | _|  sW dS | j| _| d	st | j| _| 
 st W n ty   Y n0 | j | | _| j | j }z\| j| _| tj}|dkrt | j| _|dkr8|  s2t |  sBW dS z| j | j }z| j| _| d
slt | j| _|  st | j | j }z| dst t W n ty   Y n0 | j | | _|  sW W W dS t W n ty   Y n0 | j | | _|  st W n ty2   Y n0 n|dkr|  sRt | j | j }	z| dsrt t W n ty   Y n0 | j |	 | _|  sDW dS n|dkr|  st |  sW dS |  sDt nZ|dkr|  st |  sDW dS n.|  s&t | js4t |  sDW dS W n tyZ   Y n0 | j | | _| j | j }
z| tjddst | j | j }| tjdkrt | tjddst | j | | _| j| _| j| jkrt |  jd8  _| j| _|  sW dS W n ty.   Y n0 | j |
 | _dS )Nr	   r   ZheidFr   r,   r-   cr   r   r'   r   r   I   T) r5   r.   r3   rL   r   a_3r2   r/   rS   r4   _DutchStemmer__r_en_endingrT   g_v_jrO   _DutchStemmer__r_e_endingrR   r6   _DutchStemmer__r_R2r<   a_4r;   r:   r9   r8   rU   lab7rQ   g_v_Ilab8a_5r7   rN   )r=   r>   r@   r?   rA   rB   rC   rD   Zv_7Zv_8Zv_9Zv_10rE   rE   rF   Z__r_standard_suffix  s   

































z DutchStemmer.__r_standard_suffixc                 C   s`   | j }|   || _ | j }|   || _ | j | _| j| _ |   | j| _ | j }|   || _ dS )NT)r.   _DutchStemmer__r_prelude_DutchStemmer__r_mark_regionsrN   r5    _DutchStemmer__r_standard_suffix_DutchStemmer__r_postlude)r=   r>   r?   rB   rE   rE   rF   _stem  s    zDutchStemmer._stemN)__name__
__module____qualname____doc__r   r1   rJ   rM   rX   r]   ra   r7   r_   rZ   rH   rG   rQ   rb   rc   re   rS   r\   rU   r[   rY   rd   rf   rE   rE   rE   rF   r      sp   





















	










W r   c                   @   s   e Zd ZdS )r2   Nrg   rh   ri   rE   rE   rE   rF   r2         r2   c                   @   s   e Zd ZdS )r6   Nrk   rE   rE   rE   rF   r6     rl   r6   c                   @   s   e Zd ZdS )r<   Nrk   rE   rE   rE   rF   r<     rl   r<   c                   @   s   e Zd ZdS )r;   Nrk   rE   rE   rE   rF   r;     rl   r;   c                   @   s   e Zd ZdS )r8   Nrk   rE   rE   rE   rF   r8     rl   r8   c                   @   s   e Zd ZdS )r:   Nrk   rE   rE   rE   rF   r:     rl   r:   c                   @   s   e Zd ZdS )r9   Nrk   rE   rE   rE   rF   r9     rl   r9   c                   @   s   e Zd ZdS )r^   Nrk   rE   rE   rE   rF   r^     rl   r^   c                   @   s   e Zd ZdS )r`   Nrk   rE   rE   rE   rF   r`     rl   r`   N)Zbasestemmerr   Zamongr   r   BaseExceptionr2   r6   r<   r;   r8   r:   r9   r^   r`   rE   rE   rE   rF   <module>   s      8