o
    욌hO                     @   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                   @   s2  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g 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Zg 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Zg 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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   eau   aţia   auaiua   u   aţieeleile   iile   ieiateiiiuluiuleloriloriilor   icalaicivaativaitivaicaleu   aţiuneu   iţiuneatoareitoareu   ătoareicitate	abilitate	ibilitateivitateiciveativeitiveicaliatoriicatori   itoriu   ătoriicitati	abilitatiivitatiiciviativiitiviu   icităiu	   abilităiu   ivităiu	   icităţiu   abilităţiu	   ivităţiicalatoricator#   itoru   ătoricivativitivu   icalău   icivău   ativău   itivăicaabilaibilaoasaataitaantaistautaivaiciceabileibileismeiuneoaseateitate   iteanteisteuteiveiciabiliibiliiuniosiatiitati   itiantiistiutiu   iştiiviu   ităiu   oşiu   ităţiabilibilismosatitantistutivu   icău   abilău   ibilău   oasău   atău   itău   antău   istău   utău   ivăiaescu   ăscindu   ândareereireu   âresease
   seseiseuseu   âseu   eşteu   ăşteezeaieai   iaiseiu   eştiu   ăştiui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ameam6   iamemasem9   sesemisemusemu   âsem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aueauL   iauinduu   ându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eieiu   ă)rS   r      r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r       r	   r	   r   Fc                 C   sv  	 | j }zz	 | j }zy| tjddst | j | _zZ| j }z&| ds't | j | _| tjdds6t | 	dsBW W W W W dS t
  tyM   Y nw || _ | dsYt | j | _| tjddsht | 	dssW W W W dS W n	 t
y}   Y nw || _ t  ty   Y nw || _ | j | jkrt |  j d	7  _ q ty   Y nw W q  ty   Y nw || _ 	 dS )
NTa     ur
   Fr   r   r   )cursorin_groupingr   g_vlab2braeq_slab4ket
slice_fromlab3lab1limitlab0)selfv_1v_2v_3 r   ]/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/romanian_stemmer.py__r_prelude  s\   



"zRomanianStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zz| j}zh| tjdds t zQ| j}z | 	tjdds0t
 | tjdds;t
 |  jd7  _t  t
yM   Y nw || _| tjdds\t | tjddsgt |  jd7  _W t  ty|   Y t w  ty   Y nw || _| 	tjddst zM| j}z | 	tjddst | tjddst |  jd7  _t  ty   Y nw || _| tjddst | j| j krt |  jd7  _W n	 ty   Y nw W n	 ty   Y nw | j| _W n
 ty   Y nw || _| j}zV| tjddst |  jd7  _| tjdds,t |  jd7  _| j| _| tjddsCt |  jd7  _| tjddsVt |  jd7  _| j| _W n
 tyl   Y nw || _dS )Nr   r   r   T)r   I_pVI_p1I_p2r   r   r   r   r   out_groupingr   go_out_groupingr   go_in_groupingr   r   lab6lab5lab7)r   r   r   r   v_4v_5r   r   r   __r_mark_regions6  s   z RomanianStemmer.__r_mark_regionsc                 C   s   	 | j }zA| j | _| tj}|dkrt | j | _|dkr'| ds&W dS n|dkr4| ds3W dS n| j | jkr=t |  j d7  _ W q  tyN   Y nw || _ 	 dS )NTr	   r   r   Fr   r   )	r   r   
find_amongr   a_0r   r   r   r   r   r   	among_varr   r   r   __r_postlude  s0   

zRomanianStemmer.__r_postludec                 C      | j | jksdS dS NFT)r   r   r   r   r   r   __r_RV     zRomanianStemmer.__r_RVc                 C   r   r   )r   r   r   r   r   r   __r_R1  r   zRomanianStemmer.__r_R1c                 C   r   r   )r   r   r   r   r   r   __r_R2  r   zRomanianStemmer.__r_R2c                 C   s"  | j | _| tj}|dkrdS | j | _|  sdS |dkr&|  s$dS dS |dkr3| ds1dS dS |dkr@| ds>dS dS |dkrM| d	sKdS dS |d
kr{| j	| j  }z| 
ds`t W dS  tyk   Y nw | j	| | _ | d	sydS dS |dkr| dsdS dS | dsdS dS )Nr	   Fr   r   r   r   r   r   r   r   abr   rj   r   T)r   r   find_among_br   a_1r   _RomanianStemmer__r_R1	slice_delr   r   eq_s_br   )r   r   r   r   r   r   
__r_step_0  sR   






zRomanianStemmer.__r_step_0c                 C   s   | j | j }| j| _| tj}|dkrdS | j| _|  s dS |dkr,| ds+dS n7|dkr8| ds7dS n+|dkrD| dsCdS n|d	krP| d
sOdS n|dkr\| ds[dS n| dscdS d| _	| j | | _dS )Nr	   Fr   rf   r   rg   r   ro   r   rJ   r   rj   rk   T)
r   r   r   r   r   a_2r   r   r   B_standard_suffix_removedr   r   r   r   __r_combo_suffix  sB   





z RomanianStemmer.__r_combo_suffixc                 C   s   d| _ 	 | j| j }z	|  st W q ty   Y nw | j| | _	 | j| _| tj}|dkr4dS | j| _	| 
 s>dS |dkrI|  sHdS n|dkr`| dsTdS | j| _	| ds_dS n| dsgdS d| _ dS )	NFTr	   r   r   u   ţtrm   )r   r   r    _RomanianStemmer__r_combo_suffixr   r   r   r   a_3r   _RomanianStemmer__r_R2r   r   r   r   r   r   r   __r_standard_suffix  s@   


z#RomanianStemmer.__r_standard_suffixc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|dkrlz1| j| j  }z| 	tj
dds=t t  tyH   Y nw | j| | _ | dsZ|| _W dS W n	 tyd   Y nw |  skdS n|  srdS || _dS )NFr	   r   r   r   r   T)r   r   limit_backwardr   r   r   a_4r   r   out_grouping_br   r   r   r   r   )r   r   r   r   r   r   r   __r_verb_suffix  s>   
zRomanianStemmer.__r_verb_suffixc                 C   s@   | j | _| tjdkrdS | j | _|  sdS |  sdS dS )Nr	   FT)r   r   r   r   a_5r   _RomanianStemmer__r_RVr   r   r   r   r   __r_vowel_suffix2  s   z RomanianStemmer.__r_vowel_suffixc                 C   s@  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }z4z(| j| j  }z	| jsKt t	  tyV   Y nw | j| | _ | 
 sdt W n	 t	yn   Y nw W n	 tyy   Y nw | j| | _ | j| j  }|   | j| | _ | j| _ | j }|   || _ dS )NT)r   _RomanianStemmer__r_prelude _RomanianStemmer__r_mark_regionsr   r   _RomanianStemmer__r_step_0#_RomanianStemmer__r_standard_suffixr   r   r   _RomanianStemmer__r_verb_suffixr    _RomanianStemmer__r_vowel_suffix_RomanianStemmer__r_postlude)r   r   r   r   r   v_6v_7v_8r   r   r   _stem>  sJ   zRomanianStemmer._stemN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   



























	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.1








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>A








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
b



.J'""r   c                   @      e Zd ZdS )r   Nr   r   r   r   r   r   r   r   d      r   c                   @   r   )r   Nr   r   r   r   r   r   g  r   r   c                   @   r   )r   Nr   r   r   r   r   r   j  r   r   c                   @   r   )r   Nr   r   r   r   r   r   m  r   r   c                   @   r   )r   Nr   r   r   r   r   r   p  r   r   c                   @   r   )r   Nr   r   r   r   r   r   s  r   r   c                   @   r   )r   Nr   r   r   r   r   r   v  r   r   c                   @   r   )r   Nr   r   r   r   r   r   y  r   r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r   r   r   r   r   r   <module>   s       a