B
    ܵ|VS                 @   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
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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g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gZ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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
d!d"d#dddddddddddddd$dd%d$gZd&d'dgZd&d'dgZdZdZdZ fd(d)Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z  ZS )<GermanStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r       U       Y   ä      ö      ü   eZemenZernersZesstZestigZlichendZungZischZikZheitZkeit   A             u      c                s&   |j | _ |j| _|j| _t| d S )N)I_xI_p2I_p1super	copy_from)selfother)	__class__ =lib/python3.7/site-packages/snowballstemmer/german_stemmer.pyr$   B   s    zGermanStemmer.copy_fromc             C   s  | j }yxy| j }yy| j }y:| j | _| dds8t | j | _| dsNdS t W n tk
rj   Y nX || _ | j | jkrt |  j d7  _ W n tk
r   Y nX t	 W n tk
r   Y nX || _ t
 W q
 t	k
r   Y q
X q
W W n t
k
r   Y nX || _ yԐx̐y| j }y|yXxP| j }y| tjddsPt | j | _y| j }yN| ddsvt | j | _| tjddst | dsdS t W n tk
r   Y nX || _ | dd	st | j | _| tjdds t | d
sdS W n tk
r(   Y nX || _ t W n tk
rN   Y nX || _ | j | jkrjt |  j d7  _ q.W W n tk
r   Y nX t W n tk
r   Y nX || _ t W n tk
r   Y nX qW W n tk
r   Y nX dS )Nr      ßZssFa      ur   yr   T)cursorbraZeq_slab4ket
slice_fromlab3limitlab2lab1lab0in_groupingr   g_vlab9lab11lab10lab8lab7lab6lab5)r%   v_1v_2v_3v_4v_5v_6r(   r(   r)   	r_preludeI   s    

  
 
  
  
  
 
  zGermanStemmer.r_preludec             C   s~  | j | _| j | _| j}| jd }d|ks2|| j kr6dS || _| j| _|| _y^xXy | tjddsft t	 W n tk
r   Y nX | j| j krdS |  jd7  _qNW W n t	k
r   Y nX y`xZy | 
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
r4   Y nX | j| _y | j| jk sTt | j| _W n tk
rt   Y nX yfx`y"| tjddst t W n tk
r   Y nX | j| j krdS |  jd7  _qzW W n tk
r   Y nX yfx`y"| 
tjddst t W n tk
r0   Y nX | j| j krDdS |  jd7  _qW W n tk
rp   Y nX | j| _dS )Nr   r	   Fr+   r,   r   T)r5   r"   r!   r/   r    r9   r   r:   r7   r8   Zout_groupingr4   r6   r1   r@   rA   r>   r?   )r%   rB   cr(   r(   r)   r_mark_regions   s    

  
   
  
  zGermanStemmer.r_mark_regionsc             C   sX  y:x2y| j }y| j | _| tjd}|dkr8t | j | _|dkrPt n|dkrh| dsdS n|dkr| dsdS np|dkr| d	sdS nX|d
kr| dsdS n@|dkr| dsdS n(|dkr| j | jkrt |  j d7  _ t	 W n tk
r   Y nX || _ t
 W q t	k
r4   Y qX qW W n t
k
rR   Y nX dS )Nr   r	   r   r.   Fr
   r-   r   ar   or   T)r/   r0   Z
find_amongr   a_0r6   r2   r3   r5   r7   r8   )r%   rB   	among_varr(   r(   r)   
r_postlude   sR    





 
  zGermanStemmer.r_postludec             C   s   | j | jksdS dS )NFT)r"   r/   )r%   r(   r(   r)   r_R15  s    zGermanStemmer.r_R1c             C   s   | j | jksdS dS )NFT)r!   r/   )r%   r(   r(   r)   r_R2:  s    zGermanStemmer.r_R2c             C   s  | j | j }y,| j| _| tjd}|dkr4t | j| _|  sJt |dkrZt n|dkrp| 	 sndS n|dkr| 	 sdS | j | j }y\| j| _| 
dds| j | | _t | j| _| 
dds| j | | _t | 	 sdS W n tk
r   Y nX n0|dkr8| tjd	d
s*t | 	 s8dS W n tk
rP   Y nX | j | | _| j | j }y| j| _| tjd}|dkrt | j| _|  st |dkrt nx|dkr| 	 s4dS n^|dkr4| tjd	d
st | jd }| j|ks|| j kr t || _| 	 s4dS W n tk
rL   Y nX | j | | _| j | j }y| j| _| tjd}|dkrt | j| _|  st |dkrt n4|dkr| 	 sdS | j | j }y| j| _| 
dds
| j | | _t | j| _| j | j }y*| 
dds4t | j | | _t W n tk
r^   Y nX | j | | _|  s| j | | _t | 	 sdS W n tk
r   Y nX n<|dkr| j | j }	y| 
ddst t W n tk
r   Y nX | j |	 | _| 	 sdS n|dkr$| 	 s6dS | j | j }
y| j| _yr| j | j }y| 
ddspt t W n tk
r   Y nX | j | | _| 
dds| j |
 | _t W n tk
r   Y nX | j| _|  s| j |
 | _t | 	 sdS W n tk
r    Y nX n|dkr| 	 s<dS | j | j }y| j| _| tjd}|dkr|| j | | _t | j| _|  s| j | | _t |dkr| j | | _t n|dkr| 	 sdS W n tk
r   Y nX W n tk
r   Y nX | j | | _dS )N   r	   r   Fr
   r   r   Znisb   t   r   r   r   r   r   r   T)r5   r/   r2   Zfind_among_br   a_1r8   r0   rP   Z	slice_delZeq_s_br7   Zin_grouping_b
g_s_endinga_2r6   g_st_endinglimit_backwarda_4r4   rQ   r1   rA   r@   r;   r>   r?   a_3r=   )r%   rB   rN   rC   rD   rI   rE   rF   rG   Zv_7Zv_8Zv_9Zv_10r(   r(   r)   r_standard_suffix?  sN   
 

 







 






 

 


 



 
 

 






 
 zGermanStemmer.r_standard_suffixc             C   s   | j }y|  st W n tk
r,   Y nX || _ | j }y|  sJt W n tk
r`   Y nX || _ | j | _| 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 || _ dS )NT)r/   rH   r8   rJ   r7   rY   r5   r\   r6   rO   r4   )r%   rB   rC   rD   rE   r(   r(   r)   _stem3  s@    
 
 
 
 zGermanStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r%   rL   r(   r(   r)   equals[  s    zGermanStemmer.equalsc             C   s   t dS )Nr   )hash)r%   r(   r(   r)   hashCode^  s    zGermanStemmer.hashCode)__name__
__module____qualname____doc__ZserialVersionUIDr   rM   rU   rW   r[   rZ   r:   rV   rX   r    r!   r"   r$   rH   rJ   rO   rP   rQ   r\   r]   r_   ra   __classcell__r(   r(   )r'   r)   r      s\   





















,

gL9 u(r   c               @   s   e Zd ZdS )r8   N)rb   rc   rd   r(   r(   r(   r)   r8   `  s    r8   c               @   s   e Zd ZdS )r7   N)rb   rc   rd   r(   r(   r(   r)   r7   a  s    r7   c               @   s   e Zd ZdS )r6   N)rb   rc   rd   r(   r(   r(   r)   r6   b  s    r6   c               @   s   e Zd ZdS )r4   N)rb   rc   rd   r(   r(   r(   r)   r4   c  s    r4   c               @   s   e Zd ZdS )r1   N)rb   rc   rd   r(   r(   r(   r)   r1   d  s    r1   c               @   s   e Zd ZdS )rA   N)rb   rc   rd   r(   r(   r(   r)   rA   e  s    rA   c               @   s   e Zd ZdS )r@   N)rb   rc   rd   r(   r(   r(   r)   r@   f  s    r@   c               @   s   e Zd ZdS )r?   N)rb   rc   rd   r(   r(   r(   r)   r?   g  s    r?   c               @   s   e Zd ZdS )r>   N)rb   rc   rd   r(   r(   r(   r)   r>   h  s    r>   c               @   s   e Zd ZdS )r;   N)rb   rc   rd   r(   r(   r(   r)   r;   i  s    r;   c               @   s   e Zd ZdS )r=   N)rb   rc   rd   r(   r(   r(   r)   r=   j  s    r=   c               @   s   e Zd ZdS )r<   N)rb   rc   rd   r(   r(   r(   r)   r<   k  s    r<   N)Zbasestemmerr   Zamongr   r   BaseExceptionr8   r7   r6   r4   r1   rA   r@   r?   r>   r;   r=   r<   r(   r(   r(   r)   <module>   s$       ]