U
    YSh-O                     @   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                {   @   s6  e Zd ZdZdddddddd	d
ddddh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,gZed&d'd(ed-dd*ed.dd,gZed/d'd'ed0d'd'ed1d'd'ed2d'd*gZed3d'd*ed4d'd*ed5d'd*gZed/d'd*ed6d'd*ed2d'd*gZ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dAd'dBedCd'd*edDd'dEed3d'd*edFd'dGedHdIdJedKd'd*ed5d'd*edLd'd*edMd'd*edNd'd*edOd'd*edPd'd*edQd'dB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'dBed]d'd*ed^d'dE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'dBg-Zedid'd*edjd'd*edkd'd*edld,d*edmd,d*ednd,d*edod'd*edpd'd*ed<d'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dydzd*ed{dzd*ed|dzd*ed}d'd*ed~dd*eddd*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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*eddd*eddd*eddd*eddd*eddd*eddd*eddd*eddd*edXdd*eddd*edd'd*eddd*eddd*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ddd*eddd*eddd*eddd*eddd*eddd*eddd*eddd*eddd*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dd'd*eddd*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*edd'd*edd'd*gxZedd'd*edd'd*edd'd*ed1d'd*edd'd*ed	d'd*ed
d'd*gZedd'd*edd'd,edd'd*edd'd*gZdS )PortugueseStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from portuguese.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiou   á   é   í   ó   ú   â   ê   ô    c                 C   s   | j }zx| j | _| tj}| j | _|dkr>| dsxW dS n:|dkrX| dsxW dS n | j | jkrjt |  j d7  _ W q W n tk
r   Y nX || _ qq dS )Nr   a~F   o~T)	cursorbra
find_amongr   a_0ket
slice_fromlimitlab0selfv_1	among_var r"   U/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/portuguese_stemmer.pyZ__r_prelude   s(    

 zPortugueseStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zސz| j}z| tjs@t z| j}z<| 	tjs\t
 | tjsnt
 |  jd7  _t W n t
k
r   Y nX || _| tjst | tjst |  jd7  _W n tk
r   Y nX t W n tk
r   Y nX || _| 	tjs$t z| j}z@| 	tjsBt | tjsVt |  jd7  _t W n tk
r   Y nX || _| tj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
r   Y nX || _| j}z| tjs8t |  jd7  _| tjsZt |  jd7  _| j| _| tjst |  jd7  _| tjst |  jd7  _| j| _W n tk
r   Y nX || _dS )Nr   T)r   I_pVI_p1I_p2r   Zin_groupingr   g_vlab2Zout_groupinglab4Zgo_out_groupinglab3Zgo_in_groupinglab1r   lab6lab5lab7)r   r    v_2v_3v_4v_5r"   r"   r#   Z__r_mark_regions+   s    
  
 
  
   z"PortugueseStemmer.__r_mark_regionsc                 C   s   | j }zx| j | _| tj}| j | _|dkr>| dsxW dS n:|dkrX| dsxW dS n | j | jkrjt |  j d7  _ W q W n tk
r   Y nX || _ qq dS )Nr      ãFr      õT)	r   r   r   r   a_1r   r   r   r   r   r"   r"   r#   Z__r_postludeu   s(    

 zPortugueseStemmer.__r_postludec                 C   s   | j | jkS N)r$   r   r   r"   r"   r#   Z__r_RV   s    zPortugueseStemmer.__r_RVc                 C   s   | j | jkS r6   )r%   r   r7   r"   r"   r#   Z__r_R1   s    zPortugueseStemmer.__r_R1c                 C   s   | j | jkS r6   )r&   r   r7   r"   r"   r#   Z__r_R2   s    zPortugueseStemmer.__r_R2c                 C   s  | j | _| tj}|dkr dS | j | _|dkrL|  s<dS |  sHdS n|dkrr|  s`dS | dsndS n|dkr|  sdS | dsdS nv|dkr|  sdS | d	sdS nP|d
kr| 	 sdS |  sdS | j
| j  }z| j | _| tj}|dkr| j
| | _ t | j | _|  sB| j
| | _ t |  sRW dS |dkr| j | _| ds| j
| | _ t | j | _|  s| j
| | _ t |  sW dS W n tk
r   Y nX n:|dkr|  sdS |  sdS | j
| j  }zd| j | _| tjdkr4| j
| | _ t | j | _|  sX| j
| | _ t |  shW dS W n tk
r   Y nX n|dkr6|  sdS |  sdS | j
| j  }zd| j | _| tjdkr| j
| | _ t | j | _|  s
| j
| | _ t |  sW dS W n tk
r2   Y nX n|dkr|  sNdS |  s\dS | j
| j  }z^| j | _| ds| j
| | _ t | j | _|  s| j
| | _ t |  sW dS W n tk
r   Y nX n.|  sdS | dsdS | dsdS dS )Nr   Fr   r   log   r	      Zente   at         r   irT)r   r   find_among_br   a_5r   _PortugueseStemmer__r_R2	slice_delr   _PortugueseStemmer__r_R1r   a_2r   eq_s_ba_3r+   a_4r(   r*   _PortugueseStemmer__r_RV)r   r!   r    r/   r0   r1   r"   r"   r#   Z__r_standard_suffix   s    










 






 






 





 
z%PortugueseStemmer.__r_standard_suffixc                 C   s^   | j | jk rdS | j}| j| _| j | _| tjdkr@|| _dS | j | _|  sTdS || _dS )NFr   T)	r   r$   limit_backwardr   rA   r   a_6r   rD   )r   r/   r"   r"   r#   Z__r_verb_suffix  s    z!PortugueseStemmer.__r_verb_suffixc                 C   s@   | j | _| tjdkrdS | j | _|  s0dS |  s<dS dS )Nr   FT)r   r   rA   r   a_7r   rJ   rD   r7   r"   r"   r#   Z__r_residual_suffix&  s    z%PortugueseStemmer.__r_residual_suffixc                 C   sZ  | j | _| tj}|dkr dS | j | _|dkrF|  s>dS |  sJdS | j | _z| j| j  }zJ| 	dsrt
 | j | _| j| j  }| 	dst
 | j| | _ t W n t
k
r   Y nX | j| | _ | 	dsW dS | j | _| j| j  }| 	dsW dS | j| | _ W n tk
r&   Y nX |  s6dS |  sVdS n| dsVdS dS )	Nr   Fr   r	   gr   cT)r   r   rA   r   a_8r   rJ   rD   r   rG   r+   r   r   )r   r!   r    r/   r0   r"   r"   r#   Z__r_residual_form2  sR    



 
 

z#PortugueseStemmer.__r_residual_formc           
      C   s6  | j }|   || _ |   | j | _| j| _ | j| j  }zzz| j| j  }z4| j| j  }zX| j| j  }z|  szt t W n tk
r   Y nX | j| | _ |  st	 W n tk
r   Y nX | j| | _ | j| j  }zt| j | _
| dst | j | _| j| j  }| ds"t | j| | _ |  s>t |  sTW W W W dS W n tk
rl   Y nX | j| | _ 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 )Nr   rO   FT)r   _PortugueseStemmer__r_prelude"_PortugueseStemmer__r_mark_regionsrK   r   %_PortugueseStemmer__r_standard_suffixr)   r*   !_PortugueseStemmer__r_verb_suffixr(   r   rG   r-   r   rJ   rD   r+   %_PortugueseStemmer__r_residual_suffixr   #_PortugueseStemmer__r_residual_form_PortugueseStemmer__r_postlude)
r   r    r0   r1   r2   Zv_6Zv_7Zv_8Zv_9Zv_10r"   r"   r#   _stem^  s|    
 
 


 
 

 
 zPortugueseStemmer._stem r9   r3   r   r4   r   r   r   ZicadosZivZanteZavelu   ívelZabilZicau   ânciau   ênciar:   ZlogiaZira	   ZadoraZosaZistaZivar?   ZezaZidader>   Zmenter=   Zamente   r;   u   ávelZicoZismoZosoZamentoZimentoZivou   aça~ou   uça~oZadorZicasu   ênciasZlogiasZirasZadorasZosasZistasZivasZezasZidadesZadoresZantesu   aço~esu   uço~esZicosZismosZososZamentosZimentosZivosadaZidaiaZariaZeriaZiriaZaraZeraZavaZasseZesseZisseZasteZesteZisteeiZarei   ZereiZireiamZiam   Zariam   ZeriamZiriamZaramZeramZiramZavamZemZarem   ZeremZiremZassemZessemZissemZadoZidoZandoZendoZindozara~ozera~ozira~oarZerr@   asZadas/   ZidasZiasZarias2   ZeriasZiriasZarasZerasZavasesZardes:   ZerdesZirdesZaresZeresZiresZassesZessesZissesZastesZestesZistesisZaisG   ZeisZareisI   ZereisZireisu   áreisu   éreisu   íreisu   ásseisu   ésseisu   ísseisu   áveisu   íeisu   aríeisT   u   eríeisu   iríeisZadosZidosZamosu   áramosZ   u   éramosu   íramosu   ávamosu   íamosu   aríamos_   u   eríamosu   iríamosZemosZaremosc   ZeremosZiremosu   ássemosu   êssemosu   íssemosZimosZarmosZermosZirmosu   ámosu   arásu   erásu   iráseuiuZouu   aráu   eráu   irá   çN)__name__
__module____qualname____doc__r'   r&   r%   r$   rQ   rR   rW   rJ   rE   rC   rS   rT   rU   rV   rX   r   r   r5   rF   rH   rI   rB   rL   rM   rP   r"   r"   r"   r#   r      s  J ,<




























































1























































































































|










r   c                   @   s   e Zd ZdS )r   Nrw   rx   ry   r"   r"   r"   r#   r   u  s    r   c                   @   s   e Zd ZdS )r+   Nr{   r"   r"   r"   r#   r+   x  s    r+   c                   @   s   e Zd ZdS )r(   Nr{   r"   r"   r"   r#   r(   {  s    r(   c                   @   s   e Zd ZdS )r*   Nr{   r"   r"   r"   r#   r*   ~  s    r*   c                   @   s   e Zd ZdS )r)   Nr{   r"   r"   r"   r#   r)     s    r)   c                   @   s   e Zd ZdS )r-   Nr{   r"   r"   r"   r#   r-     s    r-   c                   @   s   e Zd ZdS )r,   Nr{   r"   r"   r"   r#   r,     s    r,   c                   @   s   e Zd ZdS )r.   Nr{   r"   r"   r"   r#   r.     s    r.   N)Zbasestemmerr   Zamongr   r   BaseExceptionr   r+   r(   r*   r)   r-   r,   r.   r"   r"   r"   r#   <module>   s       q