U
    YªShø  ã                   @   sL   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d	S )
é   )ÚBaseStemmer)ÚAmongc                )   @   sp  e Zd Zd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hZdddddddddh	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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d0d(d(ƒed1d(d(ƒed2d(d(ƒed3d(d(ƒed4d(d(ƒed5d(d(ƒed6d(d(ƒed7d(d(ƒed8d(d(ƒed9d(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dAdd<ƒedBd(d<ƒedd(d<ƒedCdDd<ƒedEdDd<ƒedFdDd<ƒedGdDd<ƒedHdDd<ƒedId(d<ƒedJdKd<ƒedLdKd<ƒedMdKd<ƒedNd(d<ƒedOd(d<ƒedPd(d<ƒedQdRd<ƒedSd(d<ƒedTd(d@ƒedUdVd<ƒedWdXd<ƒedYdXd<ƒedZdXd<ƒed[dVd<ƒed\d]d<ƒed^d]d<ƒed_dVd<ƒed`dad<ƒedbdad<ƒedcdVd<ƒeddd(d<ƒeded(dfƒedgdhd<ƒedidhd<ƒedjd(d<ƒg&Zedkd(d(ƒedld(d(ƒedmd(d(ƒednd(d(ƒedod(d(ƒedpd(d(ƒedqd(d(ƒgZedrd(d<ƒedsdd<ƒedtd(d<ƒedud(dfƒedvd(d@ƒgZdwS )xÚSwedishStemmerz¡
    This class implements the stemming algorithm defined by a snowball script.
    Generated from swedish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    ÚaÚeÚiÚoÚuÚyõ   Ã¤õ   Ã¥õ   Ã¶ÚbÚcÚdÚfÚgÚhÚjÚkÚlÚmÚnÚpÚrÚtÚvé    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'   úR/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/swedish_stemmer.pyZ__r_mark_regions   s,    

 zSwedishStemmer.__r_mark_regionsc                 C   s´   | j | j }|  tj¡sdS |  tj¡s,dS z| j| jkr@tƒ ‚W dS  tk
rX   Y nX | j | | _| j | j }z|  tj	¡dkrŠt
ƒ ‚W dS  t
k
r¢   Y nX | j | | _dS )NFr   T)r   r!   Zout_grouping_br   r#   Úin_grouping_bÚlimit_backwardr$   Úfind_among_bÚa_0Úlab1)r%   r&   Úv_3r'   r'   r(   Z__r_et_condition.   s*      zSwedishStemmer.__r_et_conditionc                 C   s,  | j | jk rdS | j}| j| _| j | _|  tj¡}|dkrD|| _dS | j | _|| _|dkrh|  ¡ sfdS nÀ|dkrzt| j	| j  }z0|  
d¡s’tƒ ‚|  ¡ s tƒ ‚| j | _tƒ ‚W n tk
rÄ   Y nX | j	| | _ |  tj¡säW dS W n tk
rú   Y nX |  ¡ s(dS n|  ¡ sdS |  ¡ s(dS dS )NFr   r   é   ÚetT)r!   r    r*   Úketr+   r   Úa_1ÚbraÚ	slice_delr   Zeq_s_br-   Ú_SwedishStemmer__r_et_conditionr$   r)   Ú
g_s_ending)r%   Úv_2Ú	among_varr.   r'   r'   r(   Z__r_main_suffixC   sL    


 
 


zSwedishStemmer.__r_main_suffixc                 C   sš   | j | jk rdS | j}| j| _| j| j  }|  tj¡dkrD|| _dS | j| | _ | j | _| j | jkrn|| _dS |  j d8  _ | j | _|  	¡ sdS || _dS )NFr   r   T)
r!   r    r*   r   r+   r   Úa_2r1   r3   r4   )r%   r7   r.   r'   r'   r(   Z__r_consonant_pairm   s&    z!SwedishStemmer.__r_consonant_pairc                 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 n6|dkr|  	tj
¡s€dS |  d¡sždS n|  d¡sždS dS )NFr   r   r/   u   Ã¶sÚfullT)r!   r    r*   r1   r+   r   Úa_3r3   r4   r)   Úg_ost_endingZ
slice_from)r%   r7   r8   r'   r'   r(   Z__r_other_suffixƒ   s,    

zSwedishStemmer.__r_other_suffixc                 C   s   | j }|  ¡  || _ | j | _| j| _ | j| j  }|  ¡  | j| | _ | j| j  }|  ¡  | j| | _ | j| j  }|  ¡  | j| | _ | j| _ dS )NT)r!   Ú_SwedishStemmer__r_mark_regionsr*   r   Ú_SwedishStemmer__r_main_suffixÚ!_SwedishStemmer__r_consonant_pairÚ_SwedishStemmer__r_other_suffix)r%   r&   r7   r.   Zv_4r'   r'   r(   Ú_stem   s     zSwedishStemmer._stemZfabéÿÿÿÿZpakZrakZstakZkomZietZcitZditZalitZilitZmitÚnitZpitZritZsitZtitZuitZivitZkvitZxitr   ZarnaZernaZheternar/   ZornaÚadZadeé   ZandeZarneZareZasteÚenZandené   ZarenZhetenZernÚarZerZheteré   ÚorÚsÚasé   Zarnasé   ZernasZornasÚesZadesé   ZandesZensZarensé   ZhetensZernsÚatr0   r   Zandeté"   ZhetÚastÚddÚgdÚnnÚdtÚgtÚktÚttZigZligZelsZfulltu   Ã¶stN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r6   r<   r"   r    r=   r5   r>   r?   r@   rA   r   r,   r2   r9   r;   r'   r'   r'   r(   r      s®   &*




















ë





































Ú*






ù




ûr   c                   @   s   e Zd ZdS )r$   N©r\   r]   r^   r'   r'   r'   r(   r$     s    r$   c                   @   s   e Zd ZdS )r-   Nr`   r'   r'   r'   r(   r-     s    r-   N)Zbasestemmerr   Zamongr   r   ÚBaseExceptionr$   r-   r'   r'   r'   r(   Ú<module>   s
    |