B
    ܵ|VzN                 @   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dS )   )BaseStemmer)Amongc            1       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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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ed,dded-dded.dded/dded0d1ded2ddgZed3dded4ddgZ	ed5dded6dded7dded8dded9d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dAdBdedCdBdedDddeddEdedFdEdedGddedHdIdedJdIdedddedddedddedKddedLdMdedNddedOdPdedQdPdedRddedSdTdedUdTdedVddedWdXdedYddedZdded[dded\d]ded^dded_dded`dadedbddedcdddededddedfddedgddedhdded'didg.Z
edjddedkddedlddedmddedddednddedoddedpddedqddedrddedsddedtdBdedDddeddudedvdEdeddudeddudedwddedddedxdydedddedzdded{d|ded}dded~ddedddedddedddedddedddedhddeddXdeddXdedddedddedddg$ZedddedddgZedddedKddedddedddgZddddgZdZdZ fddZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z  ZS )RussianStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r   u   вu   ив       u   ывu   вшиu   ивши   u   ывшиu
   вшисьu   ившись   u   ывшисьu   ееu   иеu   оеu   ыеu   имиu   ымиu   ейu   ийu   ойu   ыйu   емu   имu   омu   ымu   егоu   огоu   емуu   омуu   ихu   ыхu   еюu   оюu   уюu   ююu   аяu   яяu   ннu   вшu   ившu   ывшu   щu   ющ   u   ующu   сьu   сяu   лаu   илаu   ылаu   наu   енаu   етеu   итеu   йтеu   ейте   u   уйтеu   лиu   или
   u   ылиu   й   u   уйu   лu   ил   u   ылu   нu   ен   u   лоu   ило   u   ылоu   ноu   ено   u   нноu   етu   ует   u   итu   ытu   ютu   уют"   u   ятu   ныu   ены%   u   тьu   ить'   u   ытьu   ешьu   ишьu   ю,   u   аu   евu   овu   еu   ьеu   иu   еиu   ииu   амиu   ямиu   иями   u   иейu   амu   ием   u   ямu   иям   u   оu   уu   ахu   яхu   иях   u   ыu   ьu   июu   ьюu   яu   ия!   u   ьяu   остu   остьu   ейшеu   ейшA         c                s   |j | _ |j| _t| d S )N)I_p2I_pVsuper	copy_from)selfother)	__class__ >lib/python3.7/site-packages/snowballstemmer/russian_stemmer.pyr"      s    zRussianStemmer.copy_fromc             C   s<  | j | _| j | _| j}yy`xZy | tjdds6t t W n tk
rR   Y nX | j| j krft	 |  jd7  _qW W n tk
r   Y nX | j| _y`xZy | 
tjddst t W n tk
r   Y nX | j| j krt	 |  jd7  _qW W n tk
r   Y nX yhxby"| tjdds.t t W n tk
rL   Y nX | j| j krbt	 |  jd7  _qW W n tk
r   Y nX yhxby"| 
tjddst t W n tk
r   Y nX | j| j krt	 |  jd7  _qW W n tk
r   Y nX | j| _W n t	k
r0   Y nX || _dS )Ni0  iO  r   T)limitr    r   cursorZin_groupingr   g_vlab2lab1lab0Zout_groupinglab4lab3lab6lab5lab8lab7)r#   v_1r&   r&   r'   r_mark_regions   s|    
  
  
  
   zRussianStemmer.r_mark_regionsc             C   s   | j | jksdS dS )NFT)r   r)   )r#   r&   r&   r'   r_R2   s    zRussianStemmer.r_R2c             C   s   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkry^| j| j  }y| dds`t t	 W n tk
r|   Y nX | j| | _ | ddsdS W n t	k
r   Y nX | 
 sdS n|dkr| 
 sdS dS )	N	   r   Fr   u   аu   яr   T)r)   ketfind_among_br   a_0brar(   eq_s_br,   r-   	slice_del)r#   	among_varr4   r&   r&   r'   r_perfective_gerund   s6    
  z"RussianStemmer.r_perfective_gerundc             C   sN   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrJ|  sJdS dS )Nr   r   Fr   T)r)   r8   r9   r   a_1r;   r=   )r#   r>   r&   r&   r'   r_adjective#  s    zRussianStemmer.r_adjectivec             C   sB  |   sdS | j| j }y| j| _| tjd}|dkrL| j| | _t | j| _|dkrp| j| | _t n|dkryl| j| j }y| 	ddst
 t W n t
k
r   Y nX | j| | _| 	dds| j| | _t W n tk
r   Y nX |  s$dS n|dkr$|  s$dS W n tk
r<   Y nX dS )	NFr   r   r   u   аu   яr   T)rA   r(   r)   r8   r9   r   a_2r-   r;   r<   r+   r,   r=   )r#   r4   r>   v_2r&   r&   r'   r_adjectival7  sH    

 
 


 zRussianStemmer.r_adjectivalc             C   sN   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrJ|  sJdS dS )Nr   r   Fr   T)r)   r8   r9   r   a_3r;   r=   )r#   r>   r&   r&   r'   r_reflexivej  s    zRussianStemmer.r_reflexivec             C   s   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkry^| j| j  }y| dds`t t	 W n tk
r|   Y nX | j| | _ | ddsdS W n t	k
r   Y nX | 
 sdS n|dkr| 
 sdS dS )	N.   r   Fr   u   аu   яr   T)r)   r8   r9   r   a_4r;   r(   r<   r,   r-   r=   )r#   r>   r4   r&   r&   r'   r_verb~  s6    
  zRussianStemmer.r_verbc             C   sN   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrJ|  sJdS dS )N$   r   Fr   T)r)   r8   r9   r   a_5r;   r=   )r#   r>   r&   r&   r'   r_noun  s    zRussianStemmer.r_nounc             C   sZ   | j | _| tjd}|dkr"dS | j | _|  s6dS |dkrBdS |dkrV|  sVdS dS )Nr   r   Fr   T)r)   r8   r9   r   a_6r;   r6   r=   )r#   r>   r&   r&   r'   r_derivational  s    zRussianStemmer.r_derivationalc             C   s   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkr|  sJdS | j | _| ddsbdS | j | _| ddszdS |  sdS n:|dkr| ddsdS |  sdS n|dkr|  sdS dS )	N   r   Fr   u   нr   r   T)r)   r8   r9   r   a_7r;   r=   r<   )r#   r>   r&   r&   r'   	r_tidy_up  s6    zRussianStemmer.r_tidy_upc             C   s  | j }y|  st W n tk
r,   Y nX || _ | j | _| j| _ | j| j  }| j | jk r`dS | j| _ | j}| j | _| j| | _ | j| j  }y`yB| j| j  }y|  st t W n tk
r   Y nX | j| | _ | j| j  }y | 	 s| j| | _ t
 W n t
k
r   Y nX y| j| j  }y|  s@t t W n tk
r^   Y nX | j| | _ y|  s~t t W n tk
r   Y nX | j| | _ |  st W n tk
r   Y nX W n tk
r   Y nX W n tk
r   Y nX | j| | _ | j| j  }yB| j | _| ddsJ| j| | _ t | j | _|  s`dS W n tk
rx   Y nX | 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 )NFr   u   иT)r)   r5   r-   Zlimit_backwardr(   r    r?   r/   r+   rF   r.   rD   r0   r1   rI   r3   rL   r,   r8   r<   r2   r;   r=   rN   lab9rQ   lab10)r#   r4   rC   Zv_3Zv_4Zv_5Zv_6Zv_7Zv_8Zv_9Zv_10r&   r&   r'   _stem  s    
 
 

 

 

 

 
 
 
 

 

 zRussianStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r#   or&   r&   r'   equalsm  s    zRussianStemmer.equalsc             C   s   t dS )Nr   )hash)r#   r&   r&   r'   hashCodep  s    zRussianStemmer.hashCode) __name__
__module____qualname____doc__ZserialVersionUIDr   r:   r@   rB   rE   rH   rK   rM   rP   r*   r   r    r"   r5   r6   r?   rA   rD   rF   rI   rL   rN   rQ   rT   rW   rY   __classcell__r&   r&   )r%   r'   r      s0  




























































































































@(3(1kr   c               @   s   e Zd ZdS )r-   N)rZ   r[   r\   r&   r&   r&   r'   r-   r  s    r-   c               @   s   e Zd ZdS )r,   N)rZ   r[   r\   r&   r&   r&   r'   r,   s  s    r,   c               @   s   e Zd ZdS )r+   N)rZ   r[   r\   r&   r&   r&   r'   r+   t  s    r+   c               @   s   e Zd ZdS )r/   N)rZ   r[   r\   r&   r&   r&   r'   r/   u  s    r/   c               @   s   e Zd ZdS )r.   N)rZ   r[   r\   r&   r&   r&   r'   r.   v  s    r.   c               @   s   e Zd ZdS )r1   N)rZ   r[   r\   r&   r&   r&   r'   r1   w  s    r1   c               @   s   e Zd ZdS )r0   N)rZ   r[   r\   r&   r&   r&   r'   r0   x  s    r0   c               @   s   e Zd ZdS )r3   N)rZ   r[   r\   r&   r&   r&   r'   r3   y  s    r3   c               @   s   e Zd ZdS )r2   N)rZ   r[   r\   r&   r&   r&   r'   r2   z  s    r2   c               @   s   e Zd ZdS )rR   N)rZ   r[   r\   r&   r&   r&   r'   rR   {  s    rR   c               @   s   e Zd ZdS )rS   N)rZ   r[   r\   r&   r&   r&   r'   rS   |  s    rS   N)Zbasestemmerr   Zamongr   r   BaseExceptionr-   r,   r+   r/   r.   r1   r0   r3   r2   rR   rS   r&   r&   r&   r'   <module>   s"       o