o
    ÿM iz  ã                   @   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                   @   sJ  e Zd ZdZh d£Zh d£Zh 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g 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ƒ‘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d0d1dƒ‘ed2d/dƒ‘ed3d/dƒ‘ed4d/dƒ‘ed5d,dƒ‘ed6d7dƒ‘ed8d7dƒ‘ed9d,dƒ‘ed:d,dƒ‘ed;d<dƒ‘ed=ddƒ‘ed>d?dƒ‘Zed@ddƒedAddƒedBddƒedCddƒgZedDddƒedEddƒedFddƒedGddƒedHdd*ƒgZdIS )JÚ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õ   Ã¥õ   Ã¦õ   Ã¸>   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   é    Ú c                 C   s´   | j | _| j}| jd }|| j krdS || _| j| _|| _|  tj¡s%dS |  jd7  _|  tj¡s4dS |  jd7  _| j| _z| j| jkrItƒ ‚| j| _W dS  tyY   Y dS w )Né   Fr   T)	ÚlimitÚI_p1ÚcursorÚI_xÚgo_out_groupingr   Úg_vÚgo_in_groupingÚlab0)ÚselfÚv_1r   © r/   úR/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/danish_stemmer.pyÚ__r_mark_regions   s.   


ÿÿzDanishStemmer.__r_mark_regionsc                 C   sŠ   | j | jk rdS | j}| j| _| j | _|  tj¡}|dkr"|| _dS | j | _|| _|dkr5|  ¡ s3dS dS |  	tj
¡s=dS |  ¡ sCd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/   r0   Ú__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r&|| _dS | j| _|| _| j | | _| j| jkr;dS |  jd8  _| j| _|  	¡ sLdS dS r2   )
r%   r'   r&   r3   r4   r5   r   Úa_1r7   r8   )r-   r.   Úv_3r/   r/   r0   Ú__r_consonant_pairG   s&   z DanishStemmer.__r_consonant_pairc                 C   s
  | j | j }z!| j| _|  d¡stƒ ‚| j| _|  d¡stƒ ‚|  ¡ s&W dS W n	 ty0   Y nw | j | | _| j| jk r?dS | j}| j| _| j| _|  	t
j¡}|dkrY|| _dS | j| _|| _|dkr||  ¡ sjdS | j | j }|  ¡  | j | | _dS |  d¡sƒdS dS )NÚstÚigFr"   r   u   lÃ¸sT)r%   r'   r4   Úeq_s_br,   r7   r8   r&   r3   r5   r   Úa_2Ú _DanishStemmer__r_consonant_pairÚ
slice_from)r-   r.   r?   r<   Úv_4r/   r/   r0   Ú__r_other_suffix]   sD   

ÿ
þ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	¡s9dS |  ¡ s?dS dS )NFr#   T)r'   r&   r3   r4   r9   r   Úg_cr7   Úslice_toÚS_chrC   r8   )r-   r;   r/   r/   r0   Ú__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_regionsr3   r%   Ú_DanishStemmer__r_main_suffixrE   Ú_DanishStemmer__r_other_suffixÚ_DanishStemmer__r_undouble)r-   r.   r;   r?   rG   Úv_5r/   r/   r0   Ú_stem—   s&   zDanishStemmer._stemÚhedéÿÿÿÿr   ÚethedÚeredr   Úereder$   ÚendeÚerendeé   ÚeneÚerneÚereÚenÚhedené
   ÚerenÚerÚhederé   Úererr   é   Úhedsé   ÚesÚendesé   Úerendesé   ÚenesÚernesÚeresÚensÚhedensé   ÚerensÚersÚetsÚeretsé   ÚetÚereté   ÚgdÚdtÚgtÚktrB   ÚligÚeligÚelsu   lÃ¸stN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rI   r*   r:   r(   r&   rK   rM   rN   rE   rO   rP   rR   r   r6   r>   rD   r/   r/   r/   r0   r      s´    %
ÿ
þ
ý
ü
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ñ
ð
ï
î
í
ì
ë
ê
é
è
ç
æ
å
ä
ã
â
á
 à
$


ü




ûr   c                   @   s   e Zd ZdS )r,   N)rƒ   r„   r…   r/   r/   r/   r0   r,   ß   s    r,   N)Úbasestemmerr   Úamongr   r   ÚBaseExceptionr,   r/   r/   r/   r0   Ú<module>   s
    X