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            #       sf  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g Zed0dded1dded2dded3ddgZed4dded5dded6dded7dded8ddgZd9d:ddddddddddddddd;dd<gZ	d=d>d?d
dddddddddddddgZ
dZdZd@Z fdAdBZdCdD ZdEdF ZdGdH ZdIdJ ZdKdL ZdMdN ZdOdP ZdQdR Z  ZS )SDanishStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r   ZhedZethed    ZeredeZerede   ZendeZerende   ZeneZerneZereZenZheden
   ZerenZerZheder   Zerers   Zheds   ZesZendes   Zerendes   ZenesZernesZeresZensZhedens   ZerensZersZetsZerets   ZetZeret   ZgdZdtgtZktigZligZeligZelsu   løst   A   0            *    c                s&   |j | _ |j| _|j| _t| d S )N)I_xI_p1S_chsuper	copy_from)selfother)	__class__ =lib/python3.7/site-packages/snowballstemmer/danish_stemmer.pyr"   H   s    zDanishStemmer.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_regionsO   sZ    

  
   zDanishStemmer.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   r(      T)r*   r+   r   limit_backwardketfind_among_br   a_0bra	slice_delZin_grouping_b
g_s_ending)r#   r2   r4   	among_varr&   r&   r'   r_main_suffix   s2    zDanishStemmer.r_main_suffixc             C   s   | j | j }| j | j }| j| jk r(dS | j| _| j}| j| _| j | | _| j| _| tjddkrn|| _dS | j| _|| _| j | | _| j| jkrdS |  jd8  _| j| _| 	 sdS dS )NF   r   r   T)
r*   r+   r   r8   r9   r:   r   a_1r<   r=   )r#   r2   r4   v_3r&   r&   r'   r_consonant_pair   s,    zDanishStemmer.r_consonant_pairc             C   sn  | j | j }yD| j| _| dds(t | j| _| ddsBt |  sNdS W n tk
rd   Y nX | j | | _| j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j| _| 	t
jd}|dkr|| _dS | j| _|| _|dkrdS |dkrP|  s
dS | j | j }y|  s(t W n tk
r@   Y nX | j | | _n|dkrj| dsjdS d	S )
Nr   str   Fr	   r   r   u   løsT)r*   r+   r9   Zeq_s_br.   r<   r=   r   r8   r:   r   a_2rD   r-   Z
slice_from)r#   r2   r4   rC   r?   v_4r&   r&   r'   r_other_suffix   sV     



 
zDanishStemmer.r_other_suffixc             C   s   | j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j| _| tjdds`|| _dS | j| _| 	| j
| _
| j
dkrdS || _| | j
sdS |  sdS dS )NFr(   r)   r   T)r*   r+   r   r8   r9   Zout_grouping_br   r,   r<   Zslice_tor    Zeq_v_br=   )r#   r2   r4   r&   r&   r'   
r_undouble  s*    
zDanishStemmer.r_undoublec             C   sT  | 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| j  }y|  s"t W n tk
r:   Y nX | j| | _ | j| _ dS )NT)r+   r5   r.   r8   r*   r@   r-   rD   r0   rH   r/   rI   r1   )r#   r2   r4   rC   rG   Zv_5r&   r&   r'   _stem2  sN    
 
 
 
 

 zDanishStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r#   or&   r&   r'   equalsc  s    zDanishStemmer.equalsc             C   s   t dS )Nr   )hash)r#   r&   r&   r'   hashCodef  s    zDanishStemmer.hashCode)__name__
__module____qualname____doc__ZserialVersionUIDr   r;   rB   rF   r,   r>   r   r   r    r"   r5   r@   rD   rH   rI   rJ   rM   rO   __classcell__r&   r&   )r%   r'   r      sr   





































*&4(%A!1r   c               @   s   e Zd ZdS )r.   N)rP   rQ   rR   r&   r&   r&   r'   r.   h  s    r.   c               @   s   e Zd ZdS )r-   N)rP   rQ   rR   r&   r&   r&   r'   r-   i  s    r-   c               @   s   e Zd ZdS )r0   N)rP   rQ   rR   r&   r&   r&   r'   r0   j  s    r0   c               @   s   e Zd ZdS )r/   N)rP   rQ   rR   r&   r&   r&   r'   r/   k  s    r/   c               @   s   e Zd ZdS )r1   N)rP   rQ   rR   r&   r&   r&   r'   r1   l  s    r1   N)Zbasestemmerr   Zamongr   r   BaseExceptionr.   r-   r0   r/   r1   r&   r&   r&   r'   <module>   s     c