a
    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
g dZdZdZdZdZdd 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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   âşi   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   ă)r   r)      r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r       r	   r	   r   Fc                 C   s  | j }zdzD| j }z| tjdds,t | j | _z| j }zP| dsNt | j | _| tjddslt | 	dsW W W W W dS t
 W n ty   Y n0 || _ | dst | j | _| tjddst | 	dsW W W W dS W n t
y   Y n0 || _ t W n ty"   Y n0 || _ | j | jkr>t |  j d7  _ qW n tyd   Y n0 W q W n ty   Y n0 || _ qq d	S )
Na     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 rE   ?lib/python3.9/site-packages/snowballstemmer/romanian_stemmer.pyZ__r_prelude  sT    





zRomanianStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zz| j}z| tjddsDt z| j}zD| 	tjddsdt
 | tjddszt
 |  jd7  _t W n t
y   Y n0 || _| tjddst | tjddst |  jd7  _W n ty   Y n0 t W n ty   Y n0 || _| 	tjdds6t z| j}zH| 	tjddsXt | tjddspt |  jd7  _t W n ty   Y n0 || _| tjddst | j| j krt |  jd7  _W n ty   Y n0 W n ty
   Y n0 | j| _W n ty*   Y n0 || _| j}z| tjddsRt |  jd7  _| tjddsxt |  jd7  _| j| _| tjddst |  jd7  _| tjddst |  jd7  _| j| _W n ty   Y n0 || _dS )Nr2   r3   r   T)r?   I_pVI_p1I_p2r5   r6   r   r7   r8   Zout_groupingr:   Zgo_out_groupingr=   Zgo_in_groupingr>   r@   lab6lab5lab7)rA   rB   rC   rD   v_4v_5rE   rE   rF   Z__r_mark_regions6  s    


z RomanianStemmer.__r_mark_regionsc                 C   s   | j }z| j | _| tj}|dkr*t | j | _|dkrL| dsW dS n:|dkrf| dsW dS n | j | jkrxt |  j d7  _ W q W n ty   Y n0 || _ qq dS )Nr	   r   r/   Fr   r4   T)	r5   r9   Z
find_amongr   a_0r@   r;   r<   r?   rA   rB   	among_varrE   rE   rF   Z__r_postlude  s*    

zRomanianStemmer.__r_postludec                 C   s   | j | jksdS dS NFT)rG   r5   rA   rE   rE   rF   Z__r_RV  s    zRomanianStemmer.__r_RVc                 C   s   | j | jksdS dS rR   )rH   r5   rS   rE   rE   rF   Z__r_R1  s    zRomanianStemmer.__r_R1c                 C   s   | j | jksdS dS rR   )rI   r5   rS   rE   rE   rF   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y   Y n0 | 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   abr   r   r#   T)r5   r;   find_among_br   a_1r9   _RomanianStemmer__r_R1	slice_delr<   r?   eq_s_br@   )rA   rQ   rB   rE   rE   rF   Z
__r_step_0  sF    





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?   r5   r;   rU   r   a_2r9   rW   r<   B_standard_suffix_removedrP   rE   rE   rF   Z__r_combo_suffix  s8    





z RomanianStemmer.__r_combo_suffixc                 C   s   d| _ | j| j }z|  s"t W qW n ty:   Y n0 | j| | _qLq| j| _| tj}|dkrld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)r[   r?   r5    _RomanianStemmer__r_combo_suffixr@   r;   rU   r   a_3r9   _RomanianStemmer__r_R2rX   rY   r<   rP   rE   rE   rF   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rzf| j| j  }z | 	tj
ddszt t W n ty   Y n0 | j| | _ | ds|| _W dS W n ty   Y n0 |  sdS n|  sdS || _dS )NFr	   r   r2   r3   r4   T)r5   rG   limit_backwardr;   rU   r   a_4r9   r?   Zout_grouping_br7   r>   r@   rY   rX   )rA   rC   rQ   rD   rE   rE   rF   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)r5   r;   rU   r   a_5r9   _RomanianStemmer__r_RVrX   rS   rE   rE   rF   Z__r_vowel_suffix2  s    z RomanianStemmer.__r_vowel_suffixc                 C   sD  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }zlzT| j| j  }z| jst t	 W n ty   Y n0 | j| | _ | 
 st W n t	y   Y n0 W n ty   Y n0 | j| | _ | j| j  }|   | j| | _ | j| _ | j }|   || _ dS )NT)r5   _RomanianStemmer__r_prelude _RomanianStemmer__r_mark_regionsr`   r?   _RomanianStemmer__r_step_0#_RomanianStemmer__r_standard_suffixr[   r8   r>   _RomanianStemmer__r_verb_suffixr@    _RomanianStemmer__r_vowel_suffix_RomanianStemmer__r_postlude)rA   rB   rD   rM   rN   Zv_6Zv_7Zv_8rE   rE   rF   _stem>  sF    

zRomanianStemmer._stemN)__name__
__module____qualname____doc__r   rO   rV   rZ   r^   ra   rb   r7   r[   rI   rH   rG   rd   re   rj   rc   rW   r_   rf   r]   rg   rh   ri   rk   rE   rE   rE   rF   r      s  
































































2





























































B





























































































b




.J'""r   c                   @   s   e Zd ZdS )r@   Nrl   rm   rn   rE   rE   rE   rF   r@   d      r@   c                   @   s   e Zd ZdS )r>   Nrp   rE   rE   rE   rF   r>   g  rq   r>   c                   @   s   e Zd ZdS )r8   Nrp   rE   rE   rE   rF   r8   j  rq   r8   c                   @   s   e Zd ZdS )r=   Nrp   rE   rE   rE   rF   r=   m  rq   r=   c                   @   s   e Zd ZdS )r:   Nrp   rE   rE   rE   rF   r:   p  rq   r:   c                   @   s   e Zd ZdS )rK   Nrp   rE   rE   rE   rF   rK   s  rq   rK   c                   @   s   e Zd ZdS )rJ   Nrp   rE   rE   rE   rF   rJ   v  rq   rJ   c                   @   s   e Zd ZdS )rL   Nrp   rE   rE   rE   rF   rL   y  rq   rL   N)Zbasestemmerr   Zamongr   r   BaseExceptionr@   r>   r8   r=   r:   rK   rJ   rL   rE   rE   rE   rF   <module>   s       a