B
    ܵ|V!                 @   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
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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d,d+ded-d ded.dd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ed7dded8ddgZed9dded:dded;dded<dd=ed>dd	gZd?d@dAddddddddddddddBddCgZ	dDdEdFgZ
dZdZ fdGdHZdIdJ ZdKdL ZdMdN ZdOdP ZdQdR ZdSdT ZdUdV Z  ZS )WSwedishStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r   aZarna    ZernaZheterna   ZornaZadeZade   ZandeZarneZareZasteZenZanden   ZarenZhetenZernZarZerZheter   orsas   Zarnas   ZernasZornasZesZades   ZandesZensZarens   ZhetensZernsZatZandetZhetZastZddZgdZnnZdtgtZktZttZigZligZelsZfullt   u   löst   A             w         c                s   |j | _ |j| _t| d S )N)I_xI_p1super	copy_from)selfother)	__class__ >lib/python3.7/site-packages/snowballstemmer/swedish_stemmer.pyr!   O   s    zSwedishStemmer.copy_fromc             C   s  | j | _| j}| jd }d|ks*|| j kr.dS || _| j| _|| _ypxj| j}y&| tjddsdt || _t W n tk
r   Y nX || _| j| j krdS |  jd7  _qFW W n tk
r   Y nX ybx\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| _y | j| jk s`t | j| _W n tk
r   Y nX dS )Nr   r   Fa      r   T)limitr   cursorr   Zin_groupingr   g_vlab1lab0Zout_groupinglab3lab2lab4)r"   v_1cv_2r%   r%   r&   r_mark_regionsU   sZ    

  
   zSwedishStemmer.r_mark_regionsc             C   s   | j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j| _| tjd}|dkrf|| _dS | j| _|| _|dkrdS |dkr| 	 sdS n(|dkr| 
tjddsdS | 	 sdS dS )	NF%   r   r   r   b   y   T)r)   r*   r   limit_backwardketfind_among_br   a_0bra	slice_delZin_grouping_b
g_s_ending)r"   r1   r3   	among_varr%   r%   r&   r_main_suffix   s2    zSwedishStemmer.r_main_suffixc             C   s   | j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j | j }| tjddkrf|| _dS | j | | _| j| _| j| jkr|| _dS |  jd8  _| j| _| 	 sdS || _dS )NF   r   r   T)
r)   r*   r   r8   r:   r   a_1r9   r<   r=   )r"   r1   r3   v_3r%   r%   r&   r_consonant_pair   s,    zSwedishStemmer.r_consonant_pairc             C   s   | j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j| _| tjd}|dkrf|| _dS | j| _|dkr|| _dS |dkr| 	 sdS n.|dkr| 
dsdS n|dkr| 
dsdS || _d	S )
NF   r   r   r   u   lösr   ZfullT)r)   r*   r   r8   r9   r:   r   a_2r<   r=   Z
slice_from)r"   r1   r3   r?   r%   r%   r&   r_other_suffix   s6    

zSwedishStemmer.r_other_suffixc             C   s  | j }y|  st W n tk
r,   Y nX || _ | j | _| j| _ | j| j  }y|  s`t W n tk
rv   Y nX | 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 | j| | _ | j| _ dS )NT)r*   r4   r-   r8   r)   r@   r,   rD   r/   rG   r.   )r"   r1   r3   rC   Zv_4r%   r%   r&   _stem   s@    
 
 
 
 zSwedishStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r"   or%   r%   r&   equals'  s    zSwedishStemmer.equalsc             C   s   t dS )Nr   )hash)r"   r%   r%   r&   hashCode*  s    zSwedishStemmer.hashCode)__name__
__module____qualname____doc__ZserialVersionUIDr   r;   rB   rF   r+   r>   r   r   r!   r4   r@   rD   rG   rH   rK   rM   __classcell__r%   r%   )r$   r&   r      s~   













































*
4(#*)r   c               @   s   e Zd ZdS )r-   N)rN   rO   rP   r%   r%   r%   r&   r-   ,  s    r-   c               @   s   e Zd ZdS )r,   N)rN   rO   rP   r%   r%   r%   r&   r,   -  s    r,   c               @   s   e Zd ZdS )r/   N)rN   rO   rP   r%   r%   r%   r&   r/   .  s    r/   c               @   s   e Zd ZdS )r.   N)rN   rO   rP   r%   r%   r%   r&   r.   /  s    r.   c               @   s   e Zd ZdS )r0   N)rN   rO   rP   r%   r%   r%   r&   r0   0  s    r0   N)Zbasestemmerr   Zamongr   r   BaseExceptionr-   r,   r/   r.   r0   r%   r%   r%   r&   <module>   s     '