U
    YShR                     @   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dS )   )BaseStemmer)Amongc                a   @   s	  e Zd ZdZdddddddd	hZd
ZdZdZdZdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zed&d'd(ed)d'd*gZed+d'd,ed-dd(ed.dd*gZed/d'd,ed0d'd1ed2d'd*ed3d'd4ed5d'd1ed6d'd,ed7d'd8ed9d:d4ed;d'd4ed<d'd:ed=d'd4ed>d'd(ed?d'd(ed@d'd,edAd'd4edBdCd4gZedDd'd4edEd'd4edFd'd8edGd'd:edHd'd4edId'd8edJd'd:edKd'd8edLd'd:edMd'd8edNd'd4edOd'd(edPd'd*edQd'd,edRd'd4edSd'd8edTd'd:edUd'd4edVd'd8edWdXd4edYd'd:edZd'd8ed[d'd4ed\d'd(ed]d'd,ed^d'd4ed_d'd8ed`d'd:edad'd4edbd'd(edcd'd,eddd'd4eded'd(edfd'd,edgd'd4edhd'd8edidjd4edkd'd:edld'd8edmd'd4ednd'd8edod'd:edpd'd4edqd'd4edrd'd8edsd'd:g.Zedtd'd(edud'd(edvd'd(edwd'd(edxd'd(edyd'd(edzd'd(ed{d'd,ed|d'd(ed}d'd(ed~d'd(edd'd(edd'd(edd'd(edd'd,edd'd*edd'd(edd'd(eddd(edd'd(edd'd(edd'd,edd'd(edd'd(edd'd(edd'd(edd'd(edd'd*edVd'd(edd'd(edd'd(eddd(edd'd(edd'd(edd'd,edd'd(edd'd,edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd,edhd'd(edd'd(edd'd(edd'd(edd'd(edd'd,edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd,edd'd(edd'd(g>Zed/d'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd*eddd(eddd*eddd(eddd(eddd(edd'd(edd'd(edd'd(edd'd(eddd(eddd(edd'd*edd'd(edd'd(edd'd(edd'd(edd'd(edd'd(edd'd*eddd(eddd*eddd(eddd(eddd(edd'd(edd'd(edd'd(edd'd*eddd(eddd(edd'd*edd'd*edd'd*edd'd(edd'd*eddd(eddd*eddd(eddd(eddd(edd'd(edd'd(edd'd(edd'd(eddd(eddd(edd'd*eddd(eddd*eddd(eddd(eddd(edd'd*edd'd*edd'd*eddd(eddd*eddd(eddd*ed dd(eddd(eddd(eddd(eddd(eddd(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(gZdS (  RomanianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from romanian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiou   â   îu   ăF    c                 C   s,  | j }z| j }zz| j }zp| j | _| tj}|dkr>t | j | _|dkrf| ds|W W W W dS n| ds|W W W W dS || _ t W n tk
r   Y nX || _ | j | j	krt
 |  j d7  _ qW n tk
r   Y nX W q
W n t
k
r   Y nX || _ qq
W n tk
r    Y nX || _ dS )Nr   r   u   șF   țT)cursorbra
find_amongr   a_0lab3ket
slice_fromlab2limitlab1lab0)selfv_1v_2v_3	among_var r   S/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/romanian_stemmer.pyZ__r_norm   sH    


   
 zRomanianStemmer.__r_normc                 C   s  | j }z`z>| j }z| tjs(t | j | _z| j }zL| dsJt | j | _| tjsdt | 	ds|W W W W W dS t
 W n tk
r   Y nX || _ | dst | j | _| tjst | 	dsW W W W dS W n t
k
r   Y nX || _ t W n tk
r   Y nX || _ | j | jkr8t |  j d7  _ qW n tk
r`   Y nX W q W n tk
r~   Y nX || _ qq dS )Nr	   UFr   Ir   T)r   in_groupingr   g_vr   r   Zeq_slab4r   r   r   r   r   r   )r   r   r   r   r   r   r   Z__r_prelude:   s^    


 

 
   zRomanianStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zސz| j}z| tjs@t z| j}z<| 	tjs\t
 | tjsnt
 |  jd7  _t W n t
k
r   Y nX || _| tjst | tjst |  jd7  _W n tk
r   Y nX t W n tk
r   Y nX || _| 	tjs$t z| j}z@| 	tjsBt | tjsVt |  jd7  _t W n tk
r   Y nX || _| tjst | j| j krt |  jd7  _W n tk
r   Y nX W n tk
r   Y nX | j| _W n tk
r   Y nX || _| j}z| tjs8t |  jd7  _| tjsZt |  jd7  _| j| _| tjst |  jd7  _| tjst |  jd7  _| j| _W n tk
r   Y nX || _dS )Nr   T)r   I_pVI_p1I_p2r   r"   r   r#   r   Zout_groupingr$   Zgo_out_groupingr   Zgo_in_groupingr   r   lab6lab5lab7)r   r   r   r   v_4v_5r   r   r   Z__r_mark_regionsh   s    
  
 
  
   z RomanianStemmer.__r_mark_regionsc                 C   s   | j }zx| j | _| tj}| j | _|dkr>| dsxW dS n:|dkrX| dsxW dS n | j | jkrjt |  j d7  _ W q W n tk
r   Y nX || _ qq dS )Nr   r   F   r	   T)	r   r   r   r   a_1r   r   r   r   r   r   r   r   r   r   Z__r_postlude   s(    

 zRomanianStemmer.__r_postludec                 C   s   | j | jkS N)r%   r   r   r   r   r   Z__r_RV   s    zRomanianStemmer.__r_RVc                 C   s   | j | jkS r0   )r&   r   r1   r   r   r   Z__r_R1   s    zRomanianStemmer.__r_R1c                 C   s   | j | jkS r0   )r'   r   r1   r   r   r   Z__r_R2   s    zRomanianStemmer.__r_R2c                 C   s  | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  sHdS n|dkrb| ds`dS n|dkrz| dsxdS n|dkr| d	sdS n|d
kr| j	| j  }z| 
dst W dS  tk
r   Y nX | j	| | _ | d	sdS n,|dkr
| dsdS n| dsdS dS )Nr   Fr   r-   r      r      r      ab   at   ațiT)r   r   find_among_br   a_2r   _RomanianStemmer__r_R1	slice_delr   r   eq_s_br   )r   r   r   r   r   r   Z
__r_step_0   sH    



 

zRomanianStemmer.__r_step_0c                 C   s   | j | j }| j| _| tj}|dkr,dS | j| _|  s@dS |dkrX| dsdS nn|dkrp| dsdS nV|dkr| dsdS n>|d	kr| d
sdS n&|dkr| dsdS n| dsdS d| _	| j | | _dS )Nr   Fr   abilr-   ibilr2   ivr3   icr4   r7   itT)
r   r   r   r9   r   a_3r   r;   r   B_standard_suffix_removedr/   r   r   r   Z__r_combo_suffix   s8    





z RomanianStemmer.__r_combo_suffixc                 C   s   d| _ | j| j }z|  s"t W qW n tk
r<   Y nX | j| | _qNq| j| _| tj}|dkrndS | j| _	| 
 sdS |dkr|  sdS n<|dkr| dsdS | j| _	| dsdS n| dsdS d| _ dS )	NFr   r   r-   r   tistT)rD   r   r    _RomanianStemmer__r_combo_suffixr   r   r9   r   a_4r   _RomanianStemmer__r_R2r<   r=   r   r/   r   r   r   Z__r_standard_suffix  s<     


z#RomanianStemmer.__r_standard_suffixc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|dkrzd| j| j  }z| 	tj
svt t W n tk
r   Y nX | j| | _ | ds|| _W dS W n tk
r   Y nX |  sdS n|  sdS || _dS )NFr   r   r	   T)r   r%   limit_backwardr   r9   r   a_5r   r   Zout_grouping_br#   r   r   r=   r<   )r   r   r   r   r   r   r   Z__r_verb_suffix:  s>    
 

 zRomanianStemmer.__r_verb_suffixc                 C   s@   | j | _| tjdkrdS | j | _|  s0dS |  s<dS dS )Nr   FT)r   r   r9   r   a_6r   _RomanianStemmer__r_RVr<   r1   r   r   r   Z__r_vowel_suffix\  s    z RomanianStemmer.__r_vowel_suffixc                 C   sT  |    | j}|   || _|   | j| _| j| _| j| j }|   | j| | _| j| j }|   | j| | _| j| j }zpzV| j| j }z| jst	 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 | j| | _| j| j }|   | j| | _| j| _| j}|   || _dS )NT)_RomanianStemmer__r_normr   _RomanianStemmer__r_prelude _RomanianStemmer__r_mark_regionsrJ   r   _RomanianStemmer__r_step_0#_RomanianStemmer__r_standard_suffixrD   r   r   _RomanianStemmer__r_verb_suffixr    _RomanianStemmer__r_vowel_suffix_RomanianStemmer__r_postlude)r   r   r+   r,   Zv_6Zv_7Zv_8Zv_9r   r   r   _stemh  sN    
 
 
 zRomanianStemmer._stemu   şr   u   ţr-    r2   r!   r    Zeau   ația   ZauaZiuar3   u   ațieZeleZiler4   Ziiler6   ZieiZateiiiZuluiZulZelorZilorZiilor   ZicalaZicivaZativaZitivaZicaleu   ațiuneu   ițiuneZatoareZitoareu   ătoareZicitateZ	abilitateZ	ibilitateZivitateZiciveZativeZitiveZicaliZatoriZicatori   Zitoriu   ătoriZicitatiZ	abilitatiZivitatiZiciviZativiZitiviu   icităiu	   abilităiu   ivităiu	   icitățiu   abilitățiu	   ivitățiZicalZatorZicator#   Zitoru   ătorZicivZativZitivu   icalău   icivău   ativău   itivăZicaZabilaZibilaZoasaZataZitaZantaZistaZutaZivarA   iceZabileZibileZismeZiuneZoaseZateZitate   ZiteZanteZisteZuteZiveZiciZabiliZibiliZiuniZosiZatiZitati   ZitiZantiZistiZutiu   iștiZiviu   ităiu   oșiu   itățir>   r?   Zismosr7   rB   antrF   utr@   u   icău   abilău   ibilău   oasău   atău   itău   antău   istău   utău   ivăiaescu   ăscindu   ândZareZereZireu   âreseZase
   ZseseZiseZuseu   âseu   eșteu   ășteZezeZaiZeai   ZiaiZseiu   eștiu   ăștiZuiZeziu   âiu   așiu   seșiu   aseși   u   seseșiu   iseșiu   useșiu   âseșiu   ișiu   ușiu   âșir8   u   eați&   u   iațiu   ețiu   ițiu   âțiu   arățiu   serățiu	   aserăți-   u
   seserățiu	   iserățiu	   userățiu
   âserățiu   irățiu   urățiu   ârățiamZeam6   ZiamZemZasem9   ZsesemZisemZusemu   âsemZimu   âmu   ămu   arămA   u   serămu   aserămC   u   seserămu   iserămu   userămu   âserămu   irămu   urămu   ârămauZeauL   ZiauZinduu   ânduZezu   eascău   arău   serău   aserăT   u   seserău   iserău   userău   âserău   irău   urău   ârău   eazăZieN)__name__
__module____qualname____doc__r#   rD   r'   r&   r%   rN   rO   rP   rU   rM   r;   rI   rQ   rG   rR   rS   rT   rV   r   r   r.   r:   rC   rH   rK   rL   r   r   r   r   r      s  %.J'""'


































































2





























































B





































































b



r   c                   @   s   e Zd ZdS )r   Nru   rv   rw   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r   Nry   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r   Nry   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r   Nry   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r$   Nry   r   r   r   r   r$     s    r$   c                   @   s   e Zd ZdS )r)   Nry   r   r   r   r   r)     s    r)   c                   @   s   e Zd ZdS )r(   Nry   r   r   r   r   r(     s    r(   c                   @   s   e Zd ZdS )r*   Nry   r   r   r   r   r*     s    r*   N)Zbasestemmerr   Zamongr   r   BaseExceptionr   r   r   r   r$   r)   r(   r*   r   r   r   r   <module>   s        