B
    _ҔaU                 @   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            c   @   s  e Zd Z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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gZ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d0ddgZ	ed*dded1dded-ddgZ
ed2dded3dd	ed4dded5dd	ed6dded7dded8dd9ed:dded;dded<dd=ed.dded/dded0dd	ed>dded?d@dedAdd	edBddedCddedDddedEddedFddedGddedHdd9edIdd	edJddedKdd	edLddedMdd	edNddedOddedPdd9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d9g.Zed`ddedaddedbddedcddedddded!ddededdedfddedgddedhddediddedjddgZedkdd	edldd	edmdd	edndd	edodd	edpdd	edqdd	edrdd	edsdd	ed+d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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ddd	ed d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	g`Zedddeddd	eddded,ddedddeddd	ed
ddedddgZddd|dddddddddddddddddgZdZdZdZddք Zdd؄ Zddڄ Zdd܄ Zddބ Zdd Zdd Zdd Zdd Zdd Zdd ZdS )SpanishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
           á    r      é      í      ó      ú   ZlaZselalemeZseloZseloZlasZselas   ZlesZlosZselos
   ZnosandoiendoZyendou   ándou   iéndoareriru   áru   éru   íricZadosZivZableZibleZanteZabilZicaZanciaZenciaZadoraZosaZistaZiva	   Zanzau   logíaZidad   ZmenteZamente   u   aciónu   uciónZicoZismoZosoZamientoZimientoZivoZadorZicasZanciasZenciasZadorasZosasZistasZivasZanzasu   logíasZidadesZablesZiblesZacionesZucionesZadoresZantesZicosZismosZososZamientosZimientosZivosZyaZyeZyanZyenZyeronZyoZyasZyesZyaisZyamosu   yóZabaZadaZidaZaraZierau   íau   aríau   eríau   iríaZedidZaseZieseZasteZisteZanZaban   ZaranZieranu   íanu   arían   u   eríanu   iríanenZasen   ZiesenZaronZieronu   aránu   eránu   iránZadoZidoasZabas'   ZadasZidasZarasZierasu   íasu   arías-   u   eríasu   iríasesZases1   ZiesesZabaisZaraisZieraisu   íaisu   aríais7   u   eríaisu   iríaisZaseisZieseisZasteisZisteisu   áisu   éisu   aréis@   u   eréisu   iréisZadosZidosZamosu   ábamosF   u   áramosu   iéramosu   íamosu   aríamosJ   u   eríamosu   iríamosZemosZaremosN   ZeremosZiremosu   ásemosu   iésemosZimosu   arásu   erásu   irásu   ísu   aráu   eráu   iráu   aréu   eréu   iréu   ióaeo   A   c             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 )Na      r   T)limitI_pVI_p1I_p2cursorZin_groupingr   g_vlab2Zout_groupinglab4Zgo_out_groupinglab3Zgo_in_groupinglab1lab0lab6lab5lab7)selfv_1v_2v_3v_4v_5 rK   >lib/python3.7/site-packages/snowballstemmer/spanish_stemmer.pyZ__r_mark_regions   s    
  
 
  
   zSpanishStemmer.__r_mark_regionsc             C   s   x| j }y| j | _| tj}|dkr,t | j | _|dkrL| dsdS n|dkrd| dsdS nh|dkr|| dsdS nP|d	kr| d
sdS n8|dkr| dsdS n | j | jkrt |  j d7  _ wW n tk
r   Y nX || _ P qW dS )Nr	   r   r0   Fr   r1   r   ir   r2   r   uT)	r;   braZ
find_amongr   a_0rA   ket
slice_fromr7   )rE   rF   	among_varrK   rK   rL   Z__r_postludeE  s@    




 zSpanishStemmer.__r_postludec             C   s   | j | jksdS dS )NFT)r8   r;   )rE   rK   rK   rL   Z__r_RVg  s    zSpanishStemmer.__r_RVc             C   s   | j | jksdS dS )NFT)r9   r;   )rE   rK   rK   rL   Z__r_R1l  s    zSpanishStemmer.__r_R1c             C   s   | j | jksdS dS )NFT)r:   r;   )rE   rK   rK   rL   Z__r_R2q  s    zSpanishStemmer.__r_R2c             C   s   | j | _| tjdkrdS | j | _| tj}|dkr<dS |  sHdS |dkrh| j | _| dsfdS n|dkr| j | _| dsdS n|dkr| j | _| dsdS nt|d	kr| j | _| d
sdS nT|dkr| j | _| dsdS n4|dkr| 	 sdS n| 
dsdS | 	 sdS dS )Nr	   Fr   r   r   r   r   r   r   r   r   r   r   rN   T)r;   rQ   find_among_br   a_1rO   a_2_SpanishStemmer__r_RVrR   	slice_deleq_s_b)rE   rS   rK   rK   rL   Z__r_attached_pronounv  sJ    





z#SpanishStemmer.__r_attached_pronounc             C   s~  | j | _| tj}|dkr dS | j | _|dkrL|  s<dS |  sHdS n.|dkr|  s`dS |  sldS | j| j  }yV| j | _| 	ds| j| | _ t
 | j | _|  s| j| | _ t
 |  sdS W n t
k
r   Y nX n|dkr|  sdS | dszdS nh|dkr>|  s*dS | d	szdS n<|d
krj|  sVdS | dszdS n|dkr|  sdS |  sdS | j| j  }y| j | _| tj}|dkr| j| | _ t | j | _|  s| j| | _ t |  s dS |dkrb| j | _| 	ds0| j| | _ t | j | _|  sT| j| | _ t |  sbdS W n tk
rz   Y nX n|dkr0|  sdS |  sdS | j| j  }yb| j | _| tjdkr| j| | _ t | j | _|  s| j| | _ t |  sdS W n tk
r*   Y nX nJ|dkr|  sHdS |  sVdS | j| j  }yb| j | _| tjdkr| j| | _ t | j | _|  s| j| | _ t |  sdS W n tk
r   Y nX n|  sdS |  sdS | j| j  }y\| j | _| 	ds.| j| | _ t | j | _|  sR| j| | _ t |  s`dS W n tk
rx   Y nX dS )Nr	   Fr   r   r   r   logr   rN   r   Zenter   Zatr   r   T)r;   rQ   rT   r   a_6rO   _SpanishStemmer__r_R2rX   r7   rY   rA   rR   _SpanishStemmer__r_R1a_3r@   a_4r=   a_5r?   r>   )rE   rS   rF   rG   rH   rI   rJ   rK   rK   rL   Z__r_standard_suffix  s   
 














 





 





 



 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 | 	 shdS dS )NFr	   rN   T)
r;   r8   limit_backwardrQ   rT   r   a_7rO   rY   rX   )rE   rG   rK   rK   rL   Z__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rD|| _dS | j | _|| _|dkr| j| j  }yT| 	ds| j| | _ t
 | j| j  }| 	ds| j| | _ t
 | j| | _ W n t
k
r   Y nX | j | _|  sdS n|  sdS dS )NFr	   r   rN   gT)r;   r8   ra   rQ   rT   r   a_8rO   r7   rY   rA   rX   )rE   rG   rS   rH   rI   rK   rK   rL   Z__r_verb_suffix@  s<    

 zSpanishStemmer.__r_verb_suffixc             C   s  | j | _| tj}|dkr dS | j | _|dkrJ|  s<dS |  sHdS n|  sVdS |  sbdS | j| j  }y| j | _| 	ds| j| | _ t
 | j | _| j| j  }| 	ds| j| | _ t
 | j| | _ |  s| j| | _ t
 |  sdS W n t
k
r   Y nX dS )Nr	   Fr   rN   rc   T)r;   rQ   rT   r   a_9rO   rW   rX   r7   rY   rA   )rE   rS   rF   rG   rK   rK   rL   Z__r_residual_suffixb  sD    

 z"SpanishStemmer.__r_residual_suffixc             C   sT  |    | j| _| j| _| j| j }|   | j| | _| j| j }yy| j| j }y|  sdt t W n tk
r   Y nX | j| | _y|  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)_SpanishStemmer__r_mark_regionsr;   ra   r7   #_SpanishStemmer__r_attached_pronoun"_SpanishStemmer__r_standard_suffixr=   r@    _SpanishStemmer__r_y_verb_suffixr?   _SpanishStemmer__r_verb_suffixrA   "_SpanishStemmer__r_residual_suffix_SpanishStemmer__r_postlude)rE   rG   rH   rI   rJ   Zv_6rK   rK   rL   _stem  sN    
 
 
 
 zSpanishStemmer._stemN)__name__
__module____qualname____doc__r   rP   rU   rV   r^   r_   r`   r[   rb   rd   re   r<   r:   r9   r8   rf   rl   rW   r]   r\   rg   rh   ri   rj   rk   rm   rK   rK   rK   rL   r      s  































































































































































































,J"* "'r   c               @   s   e Zd ZdS )rA   N)rn   ro   rp   rK   rK   rK   rL   rA     s    rA   c               @   s   e Zd ZdS )r@   N)rn   ro   rp   rK   rK   rK   rL   r@     s    r@   c               @   s   e Zd ZdS )r=   N)rn   ro   rp   rK   rK   rK   rL   r=     s    r=   c               @   s   e Zd ZdS )r?   N)rn   ro   rp   rK   rK   rK   rL   r?     s    r?   c               @   s   e Zd ZdS )r>   N)rn   ro   rp   rK   rK   rK   rL   r>     s    r>   c               @   s   e Zd ZdS )rC   N)rn   ro   rp   rK   rK   rK   rL   rC     s    rC   c               @   s   e Zd ZdS )rB   N)rn   ro   rp   rK   rK   rK   rL   rB     s    rB   c               @   s   e Zd ZdS )rD   N)rn   ro   rp   rK   rK   rK   rL   rD     s    rD   N)Zbasestemmerr   Zamongr   r   BaseExceptionrA   r@   r=   r?   r>   rC   rB   rD   rK   rK   rK   rL   <module>   s        -