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                    sJ  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gZed+dded,ddgZed-dded.d/ded0dded1dded2dded3d4ded5dded6dded7d8ded9d8ded:ddgZd;d<ddd/d/d/d/d/d/d/d/d/d/d/d/d=d/d>gZ	d?d@dAdgZ
d/Zd/Z fdBdCZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ Z  ZS )RNorwegianStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r   aeZedeZandeZendeZaneZeneZhetene   Zerte   ZenZheten	   ZarerZheter   s   as   ZesZedes   ZendesZenesZhetenes   ZensZhetens   ZersZetsZetZhet   ZertZastZdtZvtZlegZeleg    ZigZeigZligZelig   ZelsZlovZelov   ZslovZhetslov   A   0      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/norwegian_stemmer.pyr"   H   s    zNorwegianStemmer.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_regionsN   sZ    

  
   zNorwegianStemmer.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rByz| j | j }y | 
tjddst t W n tk
r   Y nX | j | | _| ddsdS | tjd	d
sdS W n tk
r0   Y nX | 	 s\dS n|dkr\| ds\dS dS )NF   r   r   r   b   z   kr(   r)   r	   r   T)r*   r+   r    limit_backwardketfind_among_br   a_0bra	slice_delZin_grouping_b
g_s_endingr-   r.   Zeq_s_bZout_grouping_br,   Z
slice_from)r#   r2   r4   	among_varv_3r&   r&   r'   r_main_suffix   sR    

  

zNorwegianStemmer.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 )NFr   r   r   T)
r*   r+   r    r:   r;   r<   r   a_1r>   r?   )r#   r2   r4   rB   r&   r&   r'   r_consonant_pair   s,    z!NorwegianStemmer.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rdS |dkr| 	 sdS dS )NF   r   r   T)
r*   r+   r    r:   r;   r<   r   a_2r>   r?   )r#   r2   r4   rA   r&   r&   r'   r_other_suffix   s(    zNorwegianStemmer.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+   r5   r.   r:   r*   rC   r-   rE   r0   rH   r/   )r#   r2   r4   rB   Zv_4r&   r&   r'   _stem  s@    
 
 
 
 zNorwegianStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r#   or&   r&   r'   equals+  s    zNorwegianStemmer.equalsc             C   s   t dS )Nr   )hash)r#   r&   r&   r'   hashCode.  s    zNorwegianStemmer.hashCode)__name__
__module____qualname____doc__ZserialVersionUIDr   r=   rD   rG   r,   r@   r   r    r"   r5   rC   rE   rH   rI   rL   rN   __classcell__r&   r&   )r%   r'   r      sp   






































*4;% )r   c               @   s   e Zd ZdS )r.   N)rO   rP   rQ   r&   r&   r&   r'   r.   0  s    r.   c               @   s   e Zd ZdS )r-   N)rO   rP   rQ   r&   r&   r&   r'   r-   1  s    r-   c               @   s   e Zd ZdS )r0   N)rO   rP   rQ   r&   r&   r&   r'   r0   2  s    r0   c               @   s   e Zd ZdS )r/   N)rO   rP   rQ   r&   r&   r&   r'   r/   3  s    r/   c               @   s   e Zd ZdS )r1   N)rO   rP   rQ   r&   r&   r&   r'   r1   4  s    r1   N)Zbasestemmerr   Zamongr   r   BaseExceptionr.   r-   r0   r/   r1   r&   r&   r&   r'   <module>   s     +