o
    MiT                     @   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                   @   s	  e Zd ZdZh 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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/d0ded1dded2dded3d4ded5ddgZed6dded7dded8dd0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&gZedAddedBddedCddedDddgZedEddedFddedGddgZedAddedHddedDddgZg edIddedJdd edKdd&edLdd edMddedNddedOddPedQddedRdd"edSddTedEddedFddedGdd edUdd0edVdWd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daddPedbdd edcddedddd ededd&edfdd edgddedhddediddPedjddedkdd"edlddTedmddedndd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dPZedyddedzdded{dded|dded}dded8dded~ddedddedddedddedddedddgZg 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dBd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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ddd ed6dd ed7dd ed;dd ed<dd ed=dd eddd 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ddd 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ddd eddd eddd eddd eddd eddd eddd eddd 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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edddeddd edddedCddedddeddd ed!dded#ddgZdS )SpanishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from spanish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeiou   á   é   í   ó   ú   ü    c                 C   s  | j | _| j | _| j | _| j}zz| j}z^| tjst zI| j}z| 	tjs,t
 | tjs5t
 |  jd7  _t  t
yG   Y nw || _| tjsTt | tjs]t |  jd7  _W t  tyr   Y t w  ty{   Y nw || _| 	tjst zG| j}z| 	tjst | tjst |  jd7  _t  ty   Y nw || _| tj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}zN| tjst |  jd7  _| tjst |  jd7  _| j| _| tjs*t |  jd7  _| tjs;t |  jd7  _| j| _W n
 tyQ   Y nw || _dS )Nr   T)limitI_pVI_p1I_p2cursorin_groupingr   g_vlab2out_groupinglab4go_out_groupinglab3go_in_groupinglab1lab0lab6lab5lab7)selfv_1v_2v_3v_4v_5 r)   S/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/spanish_stemmer.py__r_mark_regions   s   zSpanishStemmer.__r_mark_regionsc                 C   s   	 | j }za| j | _| tj}| j | _|dkr | dsW dS nD|dkr-| ds,W dS n7|dkr:| ds9W dS n*|d	krG| d
sFW dS n|dkrT| dsSW dS n| j | jkr]t |  j d7  _ W q  tyn   Y nw || _ 	 dS )NTr   r   F   r      r      r      r	   )	r   bra
find_amongr   a_0ket
slice_fromr   r   )r#   r$   	among_varr)   r)   r*   __r_postlude^   sD   




zSpanishStemmer.__r_postludec                 C      | j | jkS N)r   r   r#   r)   r)   r*   __r_RV~      zSpanishStemmer.__r_RVc                 C   r7   r8   )r   r   r9   r)   r)   r*   __r_R1   r;   zSpanishStemmer.__r_R1c                 C   r7   r8   )r   r   r9   r)   r)   r*   __r_R2   r;   zSpanishStemmer.__r_R2c                 C   s(  | j | _| tjdkrdS | j | _| tj}|dkrdS |  s$dS |dkr5| j | _| ds3dS dS |dkrF| j | _| dsDdS dS |dkrW| j | _| dsUdS dS |d	krh| j | _| d
sfdS dS |dkry| j | _| dswdS dS |dkr| 	 sdS dS | 
dsdS | 	 sdS dS )Nr   Fr   iendor,   andor-   arr.   err/   ir   r	   T)r   r3   find_among_br   a_1r0   a_2_SpanishStemmer__r_RVr4   	slice_deleq_s_b)r#   r5   r)   r)   r*   __r_attached_pronoun   sV   





z#SpanishStemmer.__r_attached_pronounc                 C   sn  | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |dkrt|  s0dS |  s6dS | j| j  }z-| j | _| 	dsO| j| | _ t
 | j | _|  s`| j| | _ t
 |  sgW dS W dS  t
ys   Y dS w |dkr|  s~dS | dsdS dS |dkr|  sdS | d	sdS dS |d
kr|  sdS | dsdS dS |dkr7|  sdS |  sdS | j| j  }zg| j | _| tj}|dkr| j| | _ t | j | _|  s| j| | _ t |  sW dS |dkr&| j | _| 	ds| j| | _ t | j | _|  s| j| | _ t |  s)W dS W dS W dS  ty6   Y dS w |dkr|  sCdS |  sJdS | j| j  }z3| j | _| tjdkrg| j| | _ t | j | _|  sy| j| | _ t |  sW dS W dS  ty   Y dS w |dkr|  sdS |  sdS | j| j  }z3| j | _| tjdkr| j| | _ t | j | _|  s| j| | _ t |  sW dS W dS  ty   Y dS w |  sdS |  sdS | j| j  }z0| j | _| 	ds| j| | _ t | j | _|  s!| j| | _ t |  s)W dS W dS  ty6   Y dS w )Nr   Fr   r,   icr-   logr.   r	   r/   enterC   at      T)r   r3   rD   r   a_6r0   _SpanishStemmer__r_R2rH   r   rI   r   r4   _SpanishStemmer__r_R1a_3r   a_4r   a_5r   r   )r#   r5   r$   r%   r&   r'   r(   r)   r)   r*   __r_standard_suffix   s4    
pm
h
c
^



I@=




,)








z"SpanishStemmer.__r_standard_suffixc                 C   sl   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _|| _| ds.dS | 	 s4dS dS )NFr   r	   T)
r   r   limit_backwardr3   rD   r   a_7r0   rI   rH   )r#   r%   r)   r)   r*   __r_y_verb_suffix?  s   
z SpanishStemmer.__r_y_verb_suffixc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkrs| j| j  }z*| 	dsB| j| | _ t
 | j| j  }| 	dsV| j| | _ t
 | j| | _ W n	 t
yf   Y nw | j | _|  sqdS dS |  sydS dS )NFr   r   r	   gT)r   r   rX   r3   rD   r   a_8r0   r   rI   r   rH   )r#   r%   r5   r&   r'   r)   r)   r*   __r_verb_suffixQ  s<   

zSpanishStemmer.__r_verb_suffixc                 C   s  | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |  s,dS |  s2dS | j| j  }zG| j | _| 	dsK| j| | _ t
 | j | _| j| j  }| 	dsc| j| | _ t
 | j| | _ |  sv| j| | _ t
 |  s}W dS W dS  t
y   Y dS w )Nr   Fr   r	   r[   T)r   r3   rD   r   a_9r0   rG   rH   r   rI   r   )r#   r5   r$   r%   r)   r)   r*   __r_residual_suffixs  sJ   

z"SpanishStemmer.__r_residual_suffixc                 C   sB  |    | j| _| j| _| j| j }|   | j| | _| j| j }zOzC| j| j }z
|  s2t t  ty=   Y nw | j| | _z
|  sLt	 t  t	yW   Y nw | j| | _| 
 set W n	 tyo   Y nw W n	 tyz   Y nw | j| | _| j| j }|   | j| | _| j| _| j}|   || _dS )NT)_SpanishStemmer__r_mark_regionsr   rX   r   #_SpanishStemmer__r_attached_pronoun"_SpanishStemmer__r_standard_suffixr   r    _SpanishStemmer__r_y_verb_suffixr   _SpanishStemmer__r_verb_suffixr   "_SpanishStemmer__r_residual_suffix_SpanishStemmer__r_postlude)r#   r%   r&   r'   r(   v_6r)   r)   r*   _stem  sJ   zSpanishStemmer._stem rC   r
   r   r   r,   r   r-   r   r.   r   r/   laselalemeseloselolasselasrO   leslosselos
   nosr?   r>   yendou   ándou   iéndor@   rA   rB   u   áru   éru   írrK   adosivableibleanteabilicaanciaenciaadoraosaistaiva	   anzau   logíaidadrP   menteamente   acionucionu   aciónu   uciónicoismoosoamientoimientoivoadoricasanciasenciasadorasosasistasivasanzasu   logíasidadesablesiblesacionesucionesadoresantesicosismosososamientosimientosivosyayeyanyenyeronyoyasyesyaisyamosu   yóabaadaidaaraierau   íau   aríau   eríau   iríaedidaseieseasteisteanaban   aranieranu   íanu   arían   u   eríanu   iríanenasen   iesenaronieronu   aránu   eránu   iránadoidoasabas'   adasidasarasierasu   íasu   arías-   u   eríasu   iríasesases1   iesesabaisaraisieraisu   íaisu   aríais7   u   eríaisu   iríaisaseisieseisasteisisteisu   áisu   éisu   aréis@   u   eréisu   iréisadosidosamosu   ábamosF   u   áramosu   iéramosu   íamosu   aríamosJ   u   eríamosu   iríamosemosaremosN   eremosiremosu   ásemosu   iésemosimosu   arásu   erásu   irásu   ísu   aráu   eráu   iráu   aréu   eréu   iréu   iór   r   r   N)__name__
__module____qualname____doc__r   r   r   r   r`   rf   rG   rS   rR   ra   rb   rc   rd   re   rh   r   r2   rE   rF   rT   rU   rV   rQ   rY   r\   r^   r)   r)   r)   r*   r      s   J * "'
&
















































	

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























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
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
[
\
]
^
_
`
d






r   c                   @      e Zd ZdS )r   Nr   r   r   r)   r)   r)   r*   r         r   c                   @   r   )r   Nr   r)   r)   r)   r*   r     r   r   c                   @   r   )r   Nr   r)   r)   r)   r*   r     r   r   c                   @   r   )r   Nr   r)   r)   r)   r*   r     r   r   c                   @   r   )r   Nr   r)   r)   r)   r*   r     r   r   c                   @   r   )r!   Nr   r)   r)   r)   r*   r!     r   r!   c                   @   r   )r    Nr   r)   r)   r)   r*   r      r   r    c                   @   r   )r"   Nr   r)   r)   r)   r*   r"     r   r"   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r!   r    r"   r)   r)   r)   r*   <module>   s         '