U
    YªShz  ã                   @   s<   d dl mZ d dlm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d	d
dddddddddddhZdddddddddh	Zddddddddd	d
ddddddddddh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ed-d.d/ƒed0dd/ƒed1d.d/ƒedd.d/ƒed2d3d/ƒed4d3d/ƒed5d6d/ƒed7d3d/ƒed8d3d/ƒed9d3d/ƒed:d.d/ƒed;d<d/ƒed=d<d/ƒed>d.d/ƒed?d@d/ƒedAd@d/ƒedd.dBƒedCdDd/ƒedEdDd/ƒedFdGd/ƒedHdId/ƒedJdGd/ƒedKdGd/ƒedLdGd/ƒedMdDd/ƒedNdOd/ƒedPdOd/ƒedQdDd/ƒedRdDd/ƒedSdTd/ƒedUd.d/ƒedVdWd/ƒg ZedXd.d.ƒedYd.d.ƒedZd.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.dBƒgZdaS )bÚDanishStemmerz 
    This class implements the stemming algorithm defined by a snowball script.
    Generated from danish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    ÚbÚcÚdÚfÚgÚhÚjÚkÚlÚmÚnÚpÚqÚrÚsÚtÚvÚwÚxÚzÚaÚeÚiÚoÚuÚyõ   Ã¦õ   Ã¥õ   Ã¸é    Ú c                 C   s¶   | j | _| j}| jd }|| j kr&dS || _| j| _|| _|  tj¡sJdS |  jd7  _|  tj¡shdS |  jd7  _| j| _z| j| jkr’tƒ ‚| j| _W n tk
r°   Y nX dS )Né   Fr   T)	ÚlimitÚI_p1ÚcursorÚI_xZgo_out_groupingr   Úg_vZgo_in_groupingÚlab0)ÚselfÚv_1r   © r-   úQ/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/danish_stemmer.pyZ__r_mark_regions   s,    

 zDanishStemmer.__r_mark_regionsc                 C   sˆ   | j | jk rdS | j}| j| _| j | _|  tj¡}|dkrD|| _dS | j | _|| _|dkrh|  ¡ s„dS n|  	tj
¡sxdS |  ¡ s„dS dS ©NFr"   r   T)r'   r&   Úlimit_backwardÚketÚfind_among_br   Úa_0ÚbraÚ	slice_delÚin_grouping_bÚ
g_s_ending)r+   Úv_2Ú	among_varr-   r-   r.   Z__r_main_suffix/   s&    zDanishStemmer.__r_main_suffixc                 C   sœ   | j | j }| j| jk rdS | j}| j| _| j| _|  tj¡dkrL|| _dS | j| _|| _| j | | _| j| jkrvdS |  jd8  _| j| _|  	¡ s˜dS dS r/   )
r%   r'   r&   r0   r1   r2   r   Úa_1r4   r5   )r+   r,   Úv_3r-   r-   r.   Z__r_consonant_pairG   s&    z DanishStemmer.__r_consonant_pairc                 C   s  | j | j }zB| j| _|  d¡s&tƒ ‚| j| _|  d¡s>tƒ ‚|  ¡ sLW dS W n tk
rb   Y nX | j | | _| j| jk r€dS | j}| j| _| j| _|  	t
j¡}|dkr´|| _dS | j| _|| _|dkrø|  ¡ sÖdS | j | j }|  ¡  | j | | _n|  d¡sdS dS )NÚstÚigFr"   r   u   lÃ¸sT)r%   r'   r1   Úeq_s_br*   r4   r5   r&   r0   r2   r   Úa_2Ú _DanishStemmer__r_consonant_pairZ
slice_from)r+   r,   r;   r9   Úv_4r-   r-   r.   Z__r_other_suffix]   sB    


 zDanishStemmer.__r_other_suffixc                 C   s‚   | j | jk rdS | j}| j| _| j | _|  tj¡s<|| _dS | j | _|  ¡ | _	| j	dkr\dS || _|  
| j	¡srdS |  ¡ s~dS dS )NFr#   T)r'   r&   r0   r1   r6   r   Úg_cr4   Zslice_toÚS_chr>   r5   )r+   r8   r-   r-   r.   Z__r_undouble‚   s$    

zDanishStemmer.__r_undoublec                 C   s°   | j }|  ¡  || _ | j | _| j| _ | j| j  }|  ¡  | j| | _ | j| j  }|  ¡  | j| | _ | j| j  }|  ¡  | j| | _ | j| j  }|  ¡  | j| | _ | j| _ dS )NT)r'   Ú_DanishStemmer__r_mark_regionsr0   r%   Ú_DanishStemmer__r_main_suffixr@   Ú_DanishStemmer__r_other_suffixÚ_DanishStemmer__r_undouble)r+   r,   r8   r;   rA   Zv_5r-   r-   r.   Ú_stem—   s&    zDanishStemmer._stemZhedéÿÿÿÿr   ZethedZeredZereder$   ZendeZerendeé   ZeneZerneZereÚenZhedené
   ZerenZerZhederé   Zereré   Zhedsé   ÚesZendesé   Zerendesé   ZenesZernesZeresZensZhedensé   ZerensZersZetsZeretsé   ÚetZereté   ÚgdÚdtÚgtÚktr=   ZligZeligZelsu   lÃ¸stN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rB   r)   r7   r(   r&   rC   rD   rE   r@   rF   rG   rH   r   r3   r:   r?   r-   r-   r-   r.   r      sr   ,,%































à$



ü




ûr   c                   @   s   e Zd ZdS )r*   N)r[   r\   r]   r-   r-   r-   r.   r*   ß   s    r*   N)Zbasestemmerr   Zamongr   r   ÚBaseExceptionr*   r-   r-   r-   r.   Ú<module>   s    X