B
    _ҔaO                 @   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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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d0dded1dded2d3ded4dd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d@ddedAddedBddedCddedDdEdedFddedGddedHddedIddedJddedKddedLddedMddedNddg.ZedOddedPddedQddedRddedSdd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d`ddedadbdedcddeddddededdedfddedgddedhddediddedjddedkdd	ed1ddedlddedmddedndodedpddedqddedrddedsdd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dCd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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dddedddedddedddedddeddd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dddeddd	edddedddedddedddedddedddedddg^Z	edddedddedddedddedddgZ
dbdddddddddddddddd	ddddgZdZdZdZdZdd 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S (  RomanianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
        I    r   U   Zeau   aţia   ZauaZiua   u   aţieZeleZile   Ziile   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ivaicZ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ăţiabilibilZismosatitZantistutivu   icău   abilău   ibilău   oasău   atău   itău   antău   istău   utău   ivăiaZescu   ăscZindu   ândZareZereZireu   âreZ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   âşiu   aţiu   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ămZ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ăaeZieiu   ă       Fc             C   s  x| j }y^y>x6| j }y| tjdds4t | j | _y| j }yF| dsVt | j | _| tjddstt | 	dsdS t
 W n tk
r   Y nX || _ | dst | j | _| tjddst | 	dsdS W n t
k
r   Y nX || _ t W n tk
r   Y nX || _ | j | jkr:t |  j d7  _ qW W n tk
rd   Y nX wW n tk
r   Y nX || _ P qW d	S )
Na   i  ur
   Fr.   r   r   T)cursorin_groupingr   g_vlab2braZeq_slab4ket
slice_fromlab3lab1limitlab0)selfv_1v_2v_3 rC   ?lib/python3.7/site-packages/snowballstemmer/romanian_stemmer.pyZ__r_prelude  sb    


 

 
   zRomanianStemmer.__r_preludec             C   s  | j | _| j | _| j | _| j}yy| j}y| tjddsDt y| j}yD| 	tjddsdt
 | tjddszt
 |  jd7  _t W n t
k
r   Y nX || _| tjddst | tjddst |  jd7  _W n tk
r   Y nX t W n tk
r   Y nX || _| 	tjdds<t y| j}yH| 	tjdds^t | tjddsvt |  jd7  _t W n tk
r   Y nX || _| tjdd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
r8   Y nX || _| j}y| tjdds`t |  jd7  _| tjddst |  jd7  _| j| _| tjddst |  jd7  _| tjddst |  jd7  _| j| _W n tk
r   Y nX || _dS )Nr1   i  r   T)r=   I_pVI_p1I_p2r3   r4   r   r5   r6   Zout_groupingr8   Zgo_out_groupingr;   Zgo_in_groupingr<   r>   lab6lab5lab7)r?   r@   rA   rB   v_4v_5rC   rC   rD   Z__r_mark_regions6  s    
  
 
  
   z RomanianStemmer.__r_mark_regionsc             C   s   x| j }y| j | _| tj}|dkr,t | j | _|dkrL| dsdS n8|dkrd| dsdS n | j | jkrvt |  j d7  _ wW n tk
r   Y nX || _ P qW dS )Nr	   r   r.   Fr   r2   T)	r3   r7   Z
find_amongr   a_0r>   r9   r:   r=   )r?   r@   	among_varrC   rC   rD   Z__r_postlude  s.    

 zRomanianStemmer.__r_postludec             C   s   | j | jksdS dS )NFT)rE   r3   )r?   rC   rC   rD   Z__r_RV  s    zRomanianStemmer.__r_RVc             C   s   | j | jksdS dS )NFT)rF   r3   )r?   rC   rC   rD   Z__r_R1  s    zRomanianStemmer.__r_R1c             C   s   | j | jksdS dS )NFT)rG   r3   )r?   rC   rC   rD   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  }y| 
dst 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-   r   r.   r   Zabr   r   u   aţiT)r3   r9   find_among_br   a_1r7   _RomanianStemmer__r_R1	slice_delr:   r=   eq_s_br>   )r?   rN   r@   rC   rC   rD   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   r   r   r   r   r   r   r   r   r   r   T)
r=   r3   r9   rO   r   a_2r7   rQ   r:   B_standard_suffix_removed)r?   r@   rN   rC   rC   rD   Z__r_combo_suffix  s8    





z RomanianStemmer.__r_combo_suffixc             C   s   d| _ xH| j| j }y|  s$t wW n tk
r<   Y nX | j| | _P qW | j| _| tj}|dkrpd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   u   ţtr   T)rU   r=   r3    _RomanianStemmer__r_combo_suffixr>   r9   rO   r   a_3r7   _RomanianStemmer__r_R2rR   rS   r:   )r?   r@   rN   rC   rC   rD   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ryf| j| j  }y | 	tj
ddszt t W n tk
r   Y nX | j| | _ | ds|| _dS W n tk
r   Y nX |  sdS n|  sdS || _dS )NFr	   r   r1   i  r2   T)r3   rE   limit_backwardr9   rO   r   a_4r7   r=   Zout_grouping_br5   r<   r>   rS   rR   )r?   rA   rN   rB   rC   rC   rD   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)r3   r9   rO   r   a_5r7   _RomanianStemmer__r_RVrR   )r?   rC   rC   rD   Z__r_vowel_suffix2  s    z RomanianStemmer.__r_vowel_suffixc             C   sJ  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }ypyV| j| j  }y| 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)r3   _RomanianStemmer__r_prelude _RomanianStemmer__r_mark_regionsrZ   r=   _RomanianStemmer__r_step_0#_RomanianStemmer__r_standard_suffixrU   r6   r<   _RomanianStemmer__r_verb_suffixr>    _RomanianStemmer__r_vowel_suffix_RomanianStemmer__r_postlude)r?   r@   rB   rK   rL   Zv_6Zv_7Zv_8rC   rC   rD   _stem>  sL    
 
 
 zRomanianStemmer._stemN)__name__
__module____qualname____doc__r   rM   rP   rT   rX   r[   r\   r5   rU   rG   rF   rE   r^   r_   rd   r]   rQ   rY   r`   rW   ra   rb   rc   re   rC   rC   rC   rD   r      s  



























































































































































































































..
J'""r   c               @   s   e Zd ZdS )r>   N)rf   rg   rh   rC   rC   rC   rD   r>   d  s    r>   c               @   s   e Zd ZdS )r<   N)rf   rg   rh   rC   rC   rC   rD   r<   g  s    r<   c               @   s   e Zd ZdS )r6   N)rf   rg   rh   rC   rC   rC   rD   r6   j  s    r6   c               @   s   e Zd ZdS )r;   N)rf   rg   rh   rC   rC   rC   rD   r;   m  s    r;   c               @   s   e Zd ZdS )r8   N)rf   rg   rh   rC   rC   rC   rD   r8   p  s    r8   c               @   s   e Zd ZdS )rI   N)rf   rg   rh   rC   rC   rC   rD   rI   s  s    rI   c               @   s   e Zd ZdS )rH   N)rf   rg   rh   rC   rC   rC   rD   rH   v  s    rH   c               @   s   e Zd ZdS )rJ   N)rf   rg   rh   rC   rC   rC   rD   rJ   y  s    rJ   N)Zbasestemmerr   Zamongr   r   BaseExceptionr>   r<   r6   r;   r8   rI   rH   rJ   rC   rC   rC   rD   <module>   s       a