o
    ÿM i 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h d£Zh d£Zh d£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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d0ddƒed1ddƒgZed2dd"ƒed3dd%ƒ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(ƒed<dd+ƒgZed=ddƒed>ddƒed?ddƒed@ddƒgZdAS )BÚ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õ   Ã¨>   ÚIr   r   r   r   r	   r
   r   >   r   r   r   Újr   r	   r
   r   é    Fc           	      C   sš  | j }	 | j }za| j | _|  tj¡}| j | _|dkr#|  d¡s"W dS nD|dkr0|  d¡s/W dS n7|dkr=|  d¡s<W dS n*|d	krJ|  d
¡sIW dS n|dkrW|  d¡sVW dS n| j | jkr`tƒ ‚|  j d7  _ W q tyq   Y nw || _ 	 || _ | j }z| j | _|  	d¡sŒ|| _ t
ƒ ‚| j | _|  d¡s˜W dS W n	 t
y¢   Y nw 	 | j }z•|  tj¡s±tƒ ‚|  j d7  _ | j }zu| j | _zd| j }z6|  	d¡sÍtƒ ‚| j | _| j }z|  tj¡sÞtƒ ‚|  d¡sêW W W W W dS W n	 tyô   Y nw || _ tƒ ‚ ty   Y nw || _ |  	d¡s|| _ tƒ ‚| j | _|  d¡s#W W W dS W n
 ty.   Y nw W n
 ty:   Y nw W q£ tyF   Y nw || _ 	 dS )NTr   r   Fé   r   é   r   é   r   é   r	   r
   ÚYr   )ÚcursorÚbraÚ
find_amongr   Úa_0ÚketÚ
slice_fromÚlimitÚlab0Úeq_sÚlab1Úgo_out_groupingÚg_vÚlab2Úlab5Úin_groupingÚlab6Úlab4Úlab3)	ÚselfÚv_1Úv_2Ú	among_varÚv_3Úv_4Úv_5Úv_6Úv_7© r/   úX/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/dutch_porter_stemmer.pyÚ__r_prelude   s°   
ÿ
ÿ
ÿ
ÿ
ÿ

ÿ

ÿ
ÿ€zDutchPorterStemmer.__r_preludec                 C   s   | j | _| j | _| j}| jd }|| j krdS || _| j| _|| _|  tj¡s)dS |  jd7  _|  tj¡s8dS |  jd7  _| j| _z| j| jkrMt	ƒ ‚| j| _W n	 t	y[   Y nw |  tj¡sddS |  jd7  _|  tj¡ssdS |  jd7  _| j| _dS )Nr   Fr   T)
r   ÚI_p1ÚI_p2r   ÚI_xr   r   r   Úgo_in_groupingr   )r&   r'   Úcr/   r/   r0   Ú__r_mark_regionsk   s:   

z#DutchPorterStemmer.__r_mark_regionsc                 C   sœ   	 | j }z:| j | _|  tj¡}| j | _|dkr |  d¡sW dS n|dkr-|  d¡s,W dS n| j | jkr6tƒ ‚|  j d7  _ W q  tyG   Y nw || _ 	 dS )NTr   r
   Fr   r   )	r   r   r   r   Úa_1r   r   r   r   )r&   r'   r)   r/   r/   r0   Ú__r_postludeŠ   s,   
ÿ
ÿzDutchPorterStemmer.__r_postludec                 C   ó   | j | jkS ©N)r2   r   ©r&   r/   r/   r0   Ú__r_R1¡   ó   zDutchPorterStemmer.__r_R1c                 C   r:   r;   )r3   r   r<   r/   r/   r0   Ú__r_R2¤   r>   zDutchPorterStemmer.__r_R2c                 C   sj   | j | j }|  tj¡dkrdS | j | | _| j| _| j| jkr"dS |  jd8  _| j| _|  ¡ s3dS dS )Nr   Fr   T)	r   r   Úfind_among_br   Úa_2r   Úlimit_backwardr   Ú	slice_del©r&   r'   r/   r/   r0   Ú__r_undouble§   s   zDutchPorterStemmer.__r_undoublec                 C   sz   d| _ | j| _|  d¡sdS | j| _|  ¡ sdS | j| j }|  tj	¡s&dS | j| | _|  
¡ s2dS d| _ |  ¡ s;dS dS )NFr   T)Ú	B_e_foundr   r   Úeq_s_br   Ú_DutchPorterStemmer__r_R1r   Úout_grouping_br   r   rC   Ú_DutchPorterStemmer__r_undoublerD   r/   r/   r0   Ú__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¡s)tƒ ‚W dS  ty4   Y nw | j| | _|  ¡ sAdS |  	¡ sGdS dS )NFÚgemT)
rH   r   r   rI   r   r   rG   r   rC   rJ   )r&   r'   r(   r/   r/   r0   Ú__r_en_endingÊ   s$   
z DutchPorterStemmer.__r_en_endingc                 C   s  | j | j }zN| j| _|  tj¡}|dkrtƒ ‚| j| _|dkr0|  ¡ s'tƒ ‚|  	d¡s/W dS n#|dkr<|  
¡ s;tƒ ‚n|  ¡ sCtƒ ‚|  tj¡sLtƒ ‚|  ¡ sSW dS W n	 ty]   Y nw | j | | _| j | j }|  ¡  | j | | _| j | j }zX| j| _|  d¡s‡tƒ ‚| j| _|  ¡ s’tƒ ‚| j | j }z|  d¡s¡tƒ ‚tƒ ‚ ty¬   Y nw | j | | _|  ¡ sºW dS | j| _|  d¡sÆtƒ ‚| j| _|  
¡ sÑtƒ ‚W n	 tyÛ   Y nw | j | | _| j | j }z%| j| _|  tj¡}|dkrûtƒ ‚| j| _|dkr‰|  ¡ stƒ ‚|  ¡ sW dS zj| j | j }zI| j| _|  d¡s)tƒ ‚| j| _|  ¡ s5tƒ ‚| j | j }z|  d	¡sEtƒ ‚tƒ ‚ tyQ   Y nw | j | | _|  ¡ sbW W W dS tƒ ‚ tyn   Y nw | j | | _|  ¡ s}tƒ ‚W nŽ tyˆ   Y n…w |dkrÂ|  ¡ s–tƒ ‚| j | j }	z|  d	¡s¦tƒ ‚tƒ ‚ ty²   Y nw | j |	 | _|  ¡ sÁW dS nK|d
krà|  ¡ sÏtƒ ‚|  ¡ s×W dS |  ¡ sßtƒ ‚n-|dkrö|  ¡ sítƒ ‚|  ¡ sõW dS n|  ¡ sþtƒ ‚| jstƒ ‚|  ¡ sW dS W n
 ty   Y nw | j | | _| j | j }
zO|  tj¡s0tƒ ‚| j | j }|  tj¡dkrBtƒ ‚|  tj¡sLtƒ ‚| j | | _| j| _| j| jkr`tƒ ‚|  jd8  _| j| _|  ¡ ssW dS W n
 ty~   Y nw | j |
 | _dS )Nr   r   ÚheidFr   r6   ÚenÚigr   r   r   T) r   r   r   r@   r   Úa_3r   r   rH   r   Ú _DutchPorterStemmer__r_en_endingrI   Úg_v_jrC   Ú_DutchPorterStemmer__r_e_endingrG   r   Ú_DutchPorterStemmer__r_R2r    Úa_4r%   r!   r#   r$   rJ   Úlab7rF   Úg_v_IÚlab8Úa_5r   rB   )r&   r'   r)   r(   r*   r+   r,   r-   r.   Úv_8Úv_9Úv_10r/   r/   r0   Ú__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_regionsrB   r   Ú&_DutchPorterStemmer__r_standard_suffixÚ_DutchPorterStemmer__r_postlude)r&   r'   r(   r+   r/   r/   r0   Ú_stemw  s   zDutchPorterStemmer._stemÚ éÿÿÿÿé   õ   Ã¡r   õ   Ã¤õ   Ã©r   õ   Ã«õ   Ã­r   õ   Ã¯õ   Ã³r   õ   Ã¶õ   Ãºr   õ   Ã¼r   r   ÚddÚkkÚttÚeneÚserO   ÚhedenÚsÚendrP   ÚingÚlijkÚbaarÚbarÚaaÚeeÚooÚuuN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rX   rS   r4   r3   r2   rF   r_   r`   rb   rH   rU   rJ   rT   rR   ra   rc   r   r   r8   rA   rQ   rV   rZ   r/   r/   r/   r0   r      st    R 










õ


ý


ý




û
	




ú




ür   c                   @   ó   e Zd ZdS )r   N©r   r‚   rƒ   r/   r/   r/   r0   r   º  ó    r   c                   @   r…   )r   Nr†   r/   r/   r/   r0   r   ½  r‡   r   c                   @   r…   )r    Nr†   r/   r/   r/   r0   r    À  r‡   r    c                   @   r…   )r%   Nr†   r/   r/   r/   r0   r%   Ã  r‡   r%   c                   @   r…   )r$   Nr†   r/   r/   r/   r0   r$   Æ  r‡   r$   c                   @   r…   )r!   Nr†   r/   r/   r/   r0   r!   É  r‡   r!   c                   @   r…   )r#   Nr†   r/   r/   r/   r0   r#   Ì  r‡   r#   c                   @   r…   )rW   Nr†   r/   r/   r/   r0   rW   Ï  r‡   rW   c                   @   r…   )rY   Nr†   r/   r/   r/   r0   rY   Ò  r‡   rY   N)Úbasestemmerr   Úamongr   r   ÚBaseExceptionr   r   r    r%   r$   r!   r#   rW   rY   r/   r/   r/   r0   Ú<module>   s      5