B
    ܵ|Vs}                 @   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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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/d0 d0eZd1S )2   )BaseStemmer)Amongc            {       sh  e Zd 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	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dddg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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d2dded3dd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dDddedEddg-Z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dd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dVdWdedXdWdedYdWdedZd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ddd\dededdedfdgdedhdgdedidgdedjdgdedkdgdedldgd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dedydzded{dzded|dzded}d~dedd~dedd~deddzdeddzded4dzdeddzd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dddedddedddedddedddedddedddgZedddeddd	edddedddgZdddWdddddddddddddddd&d	gZdZdZdZ fddׄZddل Zddۄ Zdd݄ Zdd߄ Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z   Z!S )PortugueseStemmerz
    self class was automatically generated by a Snowball to Python interpreter
    It implements the stemming algorithm defined by a snowball script.
    r          ã       õ   za~zo~ZicZadosZivZanteZavelu   ívelZabilZicau   ânciau   ência   Zira	   ZadoraZosaZistaZiva   Zezau   logíaZidade   Zmente   Zamente      u   ávelu   uciónZicoZismoZosoZamentoZimentoZivou   aça~oZadorZicasu   ênciasZirasZadorasZosasZistasZivasZezasu   logíasZidadesZucionesZadoresZantesu   aço~esZicosZismosZososZamentosZimentosZivosZadaZidaZiaZariaZeriaZiriaZaraZeraZavaZasseZesseZisseZasteZesteZisteZeiZarei   ZereiZireiZ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~oZarZerirasZadas/   ZidasZiasZarias2   ZeriasZiriasZarasZerasZavasZ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ásZeuZiuZouu   aráu   eráu   iráaio   á   í   óe   ç   é   ê   A      c                s&   |j | _ |j| _|j| _t| d S )N)I_p2I_p1I_pVsuper	copy_from)selfother)	__class__ Alib/python3.7/site-packages/snowballstemmer/portuguese_stemmer.pyr5      s    zPortugueseStemmer.copy_fromc             C   s  yxy| j }y| j | _| tjd}|dkr2t | j | _|dkrJt nX|dkrb| dsdS n@|dkrz| dsdS n(|dkr| j | jkrt |  j d7  _ t	 W n tk
r   Y nX || _ t
 W q t	k
r   Y qX qW W n t
k
r   Y nX dS )	Nr   r	   r   za~Fr   zo~T)cursorbra
find_amongr   a_0lab2ket
slice_fromlimitlab1lab0)r6   v_1	among_varr9   r9   r:   	r_prelude   s@    


 
  zPortugueseStemmer.r_preludec             C   s  | j | _| j | _| j | _| j}yy| j}y| tjddsFt yT| j}y| 	tjddsht
 y`xZy | tjddst t W n tk
r   Y nX | j| j krt
 |  jd7  _qlW W n tk
r   Y nX t W n t
k
r   Y nX || _| tjddst yhxby"| 	tjdds8t t W n tk
rV   Y nX | j| j krlt |  jd7  _qW W n tk
r   Y nX W n tk
r   Y nX t W n tk
r   Y nX || _| 	tjddst y| j}y| 	tjddst yhxby"| tjdds4t t W n tk
rR   Y nX | j| j krht |  jd7  _qW W n tk
r   Y nX 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
rJ   Y nX || _| j}yyhxby"| tjddszt t W n tk
r   Y nX | j| j krt |  jd7  _q`W W n tk
r   Y nX yhxby"| 	tjddst t W n tk
r   Y nX | j| j kr.t |  jd7  _qW W n tk
rZ   Y nX | j| _yhxby"| tjddst t W n tk
r   Y nX | j| j krt |  jd7  _qhW W n tk
r   Y nX yhxby"| 	tjddst t W n tk
r    Y nX | j| j kr6t |  jd7  _qW W n tk
rb   Y nX | j| _W n tk
r   Y nX || _dS )Na      r   T)rB   r3   r2   r1   r;   Zin_groupingr   g_vr?   Zout_groupinglab4lab6lab5lab3lab8lab7rC   rD   lab10lab12lab11lab9lab15lab14lab13lab17lab16lab19lab18lab21lab20)r6   rE   v_2v_3v_6v_8r9   r9   r:   r_mark_regions   s,   
  
 
  
 
 
  
  
  
  
  
  
   z PortugueseStemmer.r_mark_regionsc             C   s  yxy| j }y| j | _| tjd}|dkr2t | j | _|dkrJt nX|dkrb| dsdS n@|dkrz| dsdS n(|dkr| j | jkrt |  j d7  _ t	 W n tk
r   Y nX || _ t
 W q t	k
r   Y qX qW W n t
k
r   Y nX dS )	Nr   r	   r   r   Fr   r
   T)r;   r<   r=   r   a_1r?   r@   rA   rB   rC   rD   )r6   rE   rF   r9   r9   r:   
r_postlude  s@    


 
  zPortugueseStemmer.r_postludec             C   s   | j | jksdS dS )NFT)r3   r;   )r6   r9   r9   r:   r_RV  s    zPortugueseStemmer.r_RVc             C   s   | j | jksdS dS )NFT)r2   r;   )r6   r9   r9   r:   r_R1  s    zPortugueseStemmer.r_R1c             C   s   | j | jksdS dS )NFT)r1   r;   )r6   r9   r9   r:   r_R2  s    zPortugueseStemmer.r_R2c             C   s  | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrZ|  sJdS |  sVdS nD|dkr|  sndS | ds|dS n|dkr|  sdS | dsdS n|d	kr|  sdS | d
sdS n|dkr | 	 sdS |  sdS | j
| j  }y| j | _| tjd	}|dkr.| j
| | _ t | j | _|  sR| j
| | _ t |  s`dS |dkr~| j
| | _ t nd|dkr| j | _| dds| j
| | _ t | j | _|  s| j
| | _ t |  sdS W n tk
r   Y nX n|dkr|  sdS |  s&dS | j
| j  }y| j | _| tjd}|dkrf| j
| | _ t | j | _|dkr| j
| | _ t n4|dkr|  s| j
| | _ t |  sdS W n tk
r   Y nX n|dkr|  sdS |  sdS | j
| j  }y| j | _| tjd}|dkrD| j
| | _ t | j | _|dkrj| j
| | _ t n4|dkr|  s| j
| | _ t |  sdS W n tk
r   Y nX n|dkrd|  sdS |  sdS | j
| j  }y^| j | _| dds| j
| | _ t | j | _|  s:| j
| | _ t |  sHdS W n tk
r`   Y nX n:|dkr|  s|dS | ddsdS | dsdS dS )N-   r	   Fr   r   logr   ur   Zenter   Zatr   r   r   r   r*   r   T)r;   r@   find_among_br   a_5r<   rg   	slice_delrA   rf   rB   a_2rD   eq_s_ba_3rC   a_4r?   rN   re   )r6   rF   rE   r^   r_   v_4r9   r9   r:   r_standard_suffix  s   










 








 








 




 

z#PortugueseStemmer.r_standard_suffixc             C   s   | j | j }| j| jk rdS | j| _| j}| j| _| j | | _| j| _| tjd}|dkrf|| _dS | j| _|dkr|| _dS |dkr| 	 sdS || _dS )NFx   r	   r   T)
rB   r;   r3   limit_backwardr@   rk   r   a_6r<   rm   )r6   rE   r^   rF   r9   r9   r:   r_verb_suffix  s*    zPortugueseStemmer.r_verb_suffixc             C   sZ   | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrV|  sJdS |  sVdS dS )Nr   r	   Fr   T)r;   r@   rk   r   a_7r<   re   rm   )r6   rF   r9   r9   r:   r_residual_suffix  s    z#PortugueseStemmer.r_residual_suffixc             C   sv  | j | _| tjd}|dkr"dS | j | _|dkr6dS |dkrX|  sLdS |  sXdS | j | _y| j| j  }yN| 	ddst
 | j | _| j| j  }| 	ddst
 | j| | _ t W n t
k
r   Y nX | j| | _ | 	ddsdS | j | _| j| j  }| 	ddsdS | j| | _ W n tk
r8   Y nX |  sHdS |  srdS n|d	krr| dsrdS d
S )Nr   r	   Fr   rj   gr%   cr   T)r;   r@   rk   r   a_8r<   re   rm   rB   ro   rC   rD   rA   )r6   rF   rE   r^   r_   r9   r9   r:   r_residual_form  sX    

  


z!PortugueseStemmer.r_residual_formc             C   s  | j }y|  st W n tk
r,   Y nX || _ | j }y|  sJt W n tk
r`   Y nX || _ | j | _| j| _ | j| j  }yyz| j| j  }y4| j| j  }yX| j| j  }y|  st t	 W n tk
r   Y nX | j| | _ | 
 st W n t	k
r   Y nX | j| | _ | j| j  }yr| j | _| ddsNt | j | _| j| j  }| ddsvt | j| | _ |  st |  sdS W n tk
r   Y nX | j| | _ t W n tk
r   Y nX | j| | _ |  st W n tk
r   Y nX W n tk
r4   Y nX | j| | _ | j| j  }	y|  s`t W n tk
rx   Y nX | j|	 | _ | j| _ | j }
y|  st W n tk
r   Y nX |
| _ dS )Nr   r%   r{   FT)r;   rG   rD   rb   rC   ru   rB   rs   rL   rM   rw   rK   r@   ro   rP   r<   re   rm   rN   ry   r?   r}   rO   rd   rT   )r6   rE   r^   r_   rr   Zv_5r`   Zv_7ra   Zv_9Zv_10r9   r9   r:   _stemD  s    
 
 
 
 

 
 

 
 

 

 zPortugueseStemmer._stemc             C   s
   t |tS )N)
isinstancer   )r6   r&   r9   r9   r:   equals  s    zPortugueseStemmer.equalsc             C   s   t dS )Nr   )hash)r6   r9   r9   r:   hashCode  s    zPortugueseStemmer.hashCode)"__name__
__module____qualname____doc__ZserialVersionUIDr   r>   rc   rn   rp   rq   rl   rv   rx   r|   rJ   r1   r2   r3   r5   rG   rb   rd   re   rf   rg   rs   rw   ry   r}   r~   r   r   __classcell__r9   r9   )r8   r:   r      s  






















































































































































































,* * U Egr   c               @   s   e Zd ZdS )rD   N)r   r   r   r9   r9   r9   r:   rD     s    rD   c               @   s   e Zd ZdS )rC   N)r   r   r   r9   r9   r9   r:   rC     s    rC   c               @   s   e Zd ZdS )r?   N)r   r   r   r9   r9   r9   r:   r?     s    r?   c               @   s   e Zd ZdS )rN   N)r   r   r   r9   r9   r9   r:   rN     s    rN   c               @   s   e Zd ZdS )rK   N)r   r   r   r9   r9   r9   r:   rK     s    rK   c               @   s   e Zd ZdS )rM   N)r   r   r   r9   r9   r9   r:   rM     s    rM   c               @   s   e Zd ZdS )rL   N)r   r   r   r9   r9   r9   r:   rL     s    rL   c               @   s   e Zd ZdS )rP   N)r   r   r   r9   r9   r9   r:   rP     s    rP   c               @   s   e Zd ZdS )rO   N)r   r   r   r9   r9   r9   r:   rO     s    rO   c               @   s   e Zd ZdS )rT   N)r   r   r   r9   r9   r9   r:   rT     s    rT   c               @   s   e Zd ZdS )rQ   N)r   r   r   r9   r9   r9   r:   rQ     s    rQ   c               @   s   e Zd ZdS )rS   N)r   r   r   r9   r9   r9   r:   rS     s    rS   c               @   s   e Zd ZdS )rR   N)r   r   r   r9   r9   r9   r:   rR     s    rR   c               @   s   e Zd ZdS )rW   N)r   r   r   r9   r9   r9   r:   rW     s    rW   c               @   s   e Zd ZdS )rV   N)r   r   r   r9   r9   r9   r:   rV     s    rV   c               @   s   e Zd ZdS )rU   N)r   r   r   r9   r9   r9   r:   rU     s    rU   c               @   s   e Zd ZdS )rY   N)r   r   r   r9   r9   r9   r:   rY     s    rY   c               @   s   e Zd ZdS )rX   N)r   r   r   r9   r9   r9   r:   rX     s    rX   c               @   s   e Zd ZdS )r[   N)r   r   r   r9   r9   r9   r:   r[     s    r[   c               @   s   e Zd ZdS )rZ   N)r   r   r   r9   r9   r9   r:   rZ     s    rZ   c               @   s   e Zd ZdS )r]   N)r   r   r   r9   r9   r9   r:   r]     s    r]   c               @   s   e Zd ZdS )r\   N)r   r   r   r9   r9   r9   r:   r\     s    r\   N)Zbasestemmerr   Zamongr   r   BaseExceptionrD   rC   r?   rN   rK   rM   rL   rP   rO   rT   rQ   rS   rR   rW   rV   rU   rY   rX   r[   rZ   r]   r\   r9   r9   r9   r:   <module>   s>          0