B
    ܵ|VZ                 @   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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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d)d*d+dddddddddddddd,gZdddd)d*d+dddddddddddddd,gZd)d-d+dddddddddddddd,gZdZdZd.Z fd/d0Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> Zd?d@ ZdAdB ZdCdD ZdEdF ZdGdH Z  ZS )IDutchStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r          á       ä   é      ë   í      ï   ó      ö   ú      üIYZddZkkZttZeneZseenZhedensendigZingZlijkZbaarZbarZaaZeeZoouu   A         C   Fc                s&   |j | _ |j| _|j| _t| d S )N)I_p2I_p1	B_e_foundsuper	copy_from)selfother)	__class__ <lib/python3.7/site-packages/snowballstemmer/dutch_stemmer.pyr'   J   s    zDutchStemmer.copy_fromc             C   s  | j }y:x2y| j }y| j | _| tjd}|dkr>t | j | _|dkrVt n|dkrn| dsdS n|dkr| dsdS np|dkr| d	sdS nX|d
kr| dsdS n@|dkr| dsdS n(|dkr| j | jkrt |  j d7  _ t	 W n tk
r   Y nX || _ t
 W q t	k
r:   Y qX qW W n t
k
rX   Y nX || _ | j }y>| j | _| dds|| _ t | j | _| dsdS W n tk
r   Y nX yxy| j }yby>x6| j }y| tjddst | j | _y| j }yN| dd	s t | j | _| tjdds@t | dsPdS t W n tk
rn   Y nX || _ | ddst | j | _| dsdS W n tk
r   Y nX || _ t W n tk
r   Y nX || _ | j | jkrt |  j d7  _ qW W n tk
r(   Y nX t W n tk
rH   Y nX || _ t W n tk
rn   Y nX qW W n tk
r   Y nX dS )N   r	   r   aFr   er   ir   or   ur   yr   a      r   T)cursorbra
find_amongr   a_0lab2ket
slice_fromlimitlab1lab0Zeq_slab3in_groupingg_vlab8lab10lab9lab7lab6lab5lab4)r(   v_1v_2	among_varv_3v_4v_5v_6r+   r+   r,   	r_preludeQ   s    





 
   
  
  
 
  zDutchStemmer.r_preludec             C   s<  | j | _| j | _y^xXy | tjdds,t t W n tk
rH   Y nX | j| j krZdS |  jd7  _qW W n tk
r   Y nX y^xXy | 	tjddst
 t W n t
k
r   Y nX | j| j krdS |  jd7  _qW W n tk
r   Y nX | j| _y| jdk st d| _W n tk
r2   Y nX yfx`y"| tjddsRt t W n tk
rp   Y nX | j| j krdS |  jd7  _q8W W n tk
r   Y nX yfx`y"| 	tjddst t W n tk
r   Y nX | j| j krdS |  jd7  _qW W n tk
r.   Y nX | j| _dS )Nr4   r5   Fr   r   T)r=   r$   r#   rA   r   rB   r>   r?   r6   Zout_groupingr@   r:   rI   rG   rH   rC   rF   )r(   r+   r+   r,   r_mark_regions   s~    
  
  
 
  
  zDutchStemmer.r_mark_regionsc             C   s  yxy| j }y| j | _| tjd}|dkr2t | j | _|dkrJt nX|dkrb| dsdS n@|dkrz| dsdS n(|dkr| j | jkrt |  j d7  _ 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 )	Nr   r	   r   r3   Fr   r0   T)r6   r7   r8   r   a_1r:   r;   r<   r=   r>   r?   )r(   rJ   rL   r+   r+   r,   
r_postlude  s@    


 
  zDutchStemmer.r_postludec             C   s   | j | jksdS dS )NFT)r$   r6   )r(   r+   r+   r,   r_R1C  s    zDutchStemmer.r_R1c             C   s   | j | jksdS dS )NFT)r#   r6   )r(   r+   r+   r,   r_R2H  s    zDutchStemmer.r_R2c             C   sl   | j | j }| tjddkr"dS | j | | _| j| _| j| jkrFdS |  jd8  _| j| _|  shdS dS )Nr   r	   Fr   T)	r=   r6   find_among_br   a_2r;   limit_backwardr7   	slice_del)r(   rJ   r+   r+   r,   
r_undoubleM  s    zDutchStemmer.r_undoublec             C   s   d| _ | j| _| ddsdS | j| _|  s2dS | j| j }| tj	ddsRdS | j| | _| 
 sjdS d| _ |  s|dS dS )NFr   r/   r4   r5   T)r%   r6   r;   eq_s_br7   rU   r=   out_grouping_br   rB   rZ   r[   )r(   rJ   r+   r+   r,   
r_e_endingc  s"    zDutchStemmer.r_e_endingc             C   s   |   sdS | j| j }| tjdds,dS | j| | _| j| j }y| ddsXt dS  tk
rn   Y nX | j| | _|  sdS | 	 sdS dS )NFr4   r5   r   ZgemT)
rU   r=   r6   r]   r   rB   r\   r?   rZ   r[   )r(   rJ   rK   r+   r+   r,   r_en_ending  s&     zDutchStemmer.r_en_endingc             C   s  | j | j }y| j| _| tjd}|dkr2t | j| _|dkrJt nv|dkrp|  s`t | 	dsdS nP|dkr| 
 st n8|dkr|  st | tjdd	st |  sdS 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| j| _| d
dsRt | j| _|  sjt | j | j }y| ddst t W n tk
r   Y nX | j | | _|  sdS | j| _| ddst | j| _| 
 st W n tk
r   Y nX | j | | _| j | j }yz| j| _| tjd}|dkrVt | j| _|dkrrt n4|dkr|  st |  sdS y| j | j }y| j| _| ddst | j| _|  st | j | j }y| dds t t W n tk
r   Y nX | j | | _|  s:dS t W n tk
rX   Y nX | j | | _|  svt W n tk
r   Y nX n|dkr|  st | j | j }	y| ddst t W n tk
r   Y nX | j |	 | _|  sdS n|dkrF|  s&t |  s4dS |  st n`|d
krp|  s`t |  sdS n6|dkr|  st | jst |  sdS W n tk
r   Y nX | j | | _| j | j }
y| tjdd	st | j | j }| tjd
dkrt | tjdd	s0t | j | | _| j| _| j| j krXt |  jd8  _| j| _|  s|dS W n tk
r   Y nX | j |
 | _dS )Nr   r	   r   ZheidFr   r   r4   r5   r   cr   r   r   r/   I   T)!r=   r6   r;   rW   r   a_3r?   r7   rU   r<   r_   r]   g_v_jrZ   r^   r>   r\   r:   rV   r@   a_4rI   rG   rF   rH   r[   rC   r%   g_v_IrE   a_5rB   rY   )r(   rJ   rL   rK   rM   rN   rO   rP   Zv_7Zv_8Zv_9Zv_10r+   r+   r,   r_standard_suffix  s<   
 

 

 


 







 

 

 



 










 
 zDutchStemmer.r_standard_suffixc             C   s   | j }y|  st W n tk
r,   Y nX || _ | j }y|  sJt W n tk
r`   Y nX || _ | j | _| 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 || _ dS )NT)r6   rQ   r?   rR   r>   rY   r=   rg   r:   rT   r@   )r(   rJ   rK   rM   rN   r+   r+   r,   _stem  s@    
 
 
 
 zDutchStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r(   r1   r+   r+   r,   equals  s    zDutchStemmer.equalsc             C   s   t dS )Nr   )hash)r(   r+   r+   r,   hashCode  s    zDutchStemmer.hashCode) __name__
__module____qualname____doc__ZserialVersionUIDr   r9   rS   rX   rb   rd   rf   rB   re   rc   r#   r$   r%   r'   rQ   rR   rT   rU   rV   r[   r^   r_   rg   rh   rj   rl   __classcell__r+   r+   )r*   r,   r      sn   

























&,& A* h(r   c               @   s   e Zd ZdS )r?   N)rm   rn   ro   r+   r+   r+   r,   r?     s    r?   c               @   s   e Zd ZdS )r>   N)rm   rn   ro   r+   r+   r+   r,   r>     s    r>   c               @   s   e Zd ZdS )r:   N)rm   rn   ro   r+   r+   r+   r,   r:     s    r:   c               @   s   e Zd ZdS )r@   N)rm   rn   ro   r+   r+   r+   r,   r@     s    r@   c               @   s   e Zd ZdS )rI   N)rm   rn   ro   r+   r+   r+   r,   rI     s    rI   c               @   s   e Zd ZdS )rH   N)rm   rn   ro   r+   r+   r+   r,   rH     s    rH   c               @   s   e Zd ZdS )rG   N)rm   rn   ro   r+   r+   r+   r,   rG     s    rG   c               @   s   e Zd ZdS )rF   N)rm   rn   ro   r+   r+   r+   r,   rF     s    rF   c               @   s   e Zd ZdS )rC   N)rm   rn   ro   r+   r+   r+   r,   rC     s    rC   c               @   s   e Zd ZdS )rE   N)rm   rn   ro   r+   r+   r+   r,   rE     s    rE   c               @   s   e Zd ZdS )rD   N)rm   rn   ro   r+   r+   r+   r,   rD     s    rD   N)Zbasestemmerr   Zamongr   r   BaseExceptionr?   r>   r:   r@   rI   rH   rG   rF   rC   rE   rD   r+   r+   r+   r,   <module>   s$        /