a
    a$Q                     @   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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d5dzd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g dӢ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 )PortugueseStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
           ã    r      õ   a~o~ZicZadosZivZanteZavelu   ívelZabilZicau   ânciau   ência   ZlogiaZira	   ZadoraZosaZistaZiva   ZezaZidade   Zmente   Zamente      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ivosZadaZidaiaZariaZeriaZiriaZaraZeraZavaZasseZesseZisseZasteZesteZisteZ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erir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áaio   á   í   óe   ç   é   ê)   A   r   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r      r   r   c                 C   s   | j }z| j | _| tj}|dkr*t | j | _|dkrL| dsW dS n:|dkrf| dsW dS n | j | jkrxt |  j d7  _ W q W n ty   Y n0 || _ qq dS )Nr	   r   r   Fr   r   T)	cursorbra
find_amongr   a_0lab0ket
slice_fromlimitselfv_1	among_var rE   Alib/python3.9/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ddsDt z| j}zD| 	tjddsdt
 | tjddszt
 |  jd7  _t W n t
y   Y n0 || _| tjddst | tjddst |  jd7  _W n ty   Y n0 t W n ty   Y n0 || _| 	tjdds6t z| j}zH| 	tjddsXt | tjddspt |  jd7  _t W n ty   Y n0 || _| tjddst | j| j krt |  jd7  _W n ty   Y n0 W n ty
   Y n0 | j| _W n ty*   Y n0 || _| j}z| tjddsRt |  jd7  _| tjddsxt |  jd7  _| j| _| tjddst |  jd7  _| tjddst |  jd7  _| j| _W n ty   Y n0 || _dS )Na      r   T)r@   I_pVI_p1I_p2r9   Zin_groupingr   g_vlab2Zout_groupinglab4Zgo_out_groupinglab3Zgo_in_groupinglab1r=   lab6lab5lab7)rB   rC   v_2v_3v_4v_5rE   rE   rF   Z__r_mark_regions  s    


z"PortugueseStemmer.__r_mark_regionsc                 C   s   | j }z| j | _| tj}|dkr*t | j | _|dkrL| dsW dS n:|dkrf| dsW dS n | j | jkrxt |  j d7  _ W q W n ty   Y n0 || _ qq dS )Nr	   r   r   Fr   r
   T)	r9   r:   r;   r   a_1r=   r>   r?   r@   rA   rE   rE   rF   Z__r_postludeQ  s*    

zPortugueseStemmer.__r_postludec                 C   s   | j | jksdS dS NFT)rI   r9   rB   rE   rE   rF   Z__r_RVj  s    zPortugueseStemmer.__r_RVc                 C   s   | j | jksdS dS rY   )rJ   r9   rZ   rE   rE   rF   Z__r_R1o  s    zPortugueseStemmer.__r_R1c                 C   s   | j | jksdS dS rY   )rK   r9   rZ   rE   rE   rF   Z__r_R2t  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 nn|dkr|  sdS | d	sdS nH|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y   Y n0 n4|dkr|  sdS |  sdS | j
| j  }zd| j | _| tjdkr2| j
| | _ t | j | _|  sV| j
| | _ t |  sfW dS W n ty|   Y n0 n|dkr0|  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y,   Y n0 n|dkr|  sHdS |  sVdS | j
| j  }z^| j | _| ds| j
| | _ t | j | _|  s| j
| | _ t |  sW dS W n ty   Y n0 n.|  sdS | dsdS | dsdS dS )Nr	   Fr   r   logr   ur   Zenter   Zatr   r   r   r2   r   T)r9   r>   find_among_br   a_5r:   _PortugueseStemmer__r_R2	slice_delr?   _PortugueseStemmer__r_R1r@   a_2r=   eq_s_ba_3rP   a_4rM   rO   _PortugueseStemmer__r_RV)rB   rD   rC   rT   rU   rV   rE   rE   rF   Z__r_standard_suffixy  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)	r9   rI   limit_backwardr>   r]   r   a_6r:   r`   )rB   rT   rE   rE   rF   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)r9   r>   r]   r   a_7r:   rf   r`   rZ   rE   rE   rF   Z__r_residual_suffix
  s    z%PortugueseStemmer.__r_residual_suffixc                 C   sT  | j | _| tj}|dkr dS | j | _|dkr@|  s>dS |  sJdS | j | _z| j| j  }zJ| 	dsrt
 | j | _| j| j  }| 	dst
 | j| | _ t W n t
y   Y n0 | j| | _ | 	dsW dS | j | _| j| j  }| 	dsW dS | j| | _ W n ty    Y n0 |  s0dS |  sPdS n| dsPdS dS )	Nr	   Fr   r\   gr-   cT)r9   r>   r]   r   a_8r:   rf   r`   r@   rc   rP   r=   r?   )rB   rD   rC   rT   rU   rE   rE   rF   Z__r_residual_form  sN    







z#PortugueseStemmer.__r_residual_formc           
      C   s*  | j }|   || _ |   | j | _| j| _ | j| j  }zzr| j| j  }z.| j| j  }zV| j| j  }z|  szt t W n ty   Y n0 | j| | _ |  st	 W n ty   Y n0 | j| | _ | j| j  }zt| j | _
| dst | j | _| j| j  }| dst | j| | _ |  s:t |  sPW W W W dS W n tyf   Y n0 | j| | _ t W n t	y   Y n0 | j| | _ |  st W n ty   Y n0 W n ty   Y n0 | j| | _ | j| j  }|   | j| | _ | j| _ | j }	|   |	| _ dS )Nr-   rk   FT)r9   _PortugueseStemmer__r_prelude"_PortugueseStemmer__r_mark_regionsrg   r@   %_PortugueseStemmer__r_standard_suffixrN   rO   !_PortugueseStemmer__r_verb_suffixrM   r>   rc   rR   r:   rf   r`   rP   %_PortugueseStemmer__r_residual_suffixr=   #_PortugueseStemmer__r_residual_form_PortugueseStemmer__r_postlude)
rB   rC   rU   rV   rW   Zv_6Zv_7Zv_8Zv_9Zv_10rE   rE   rF   _stemB  sp    







zPortugueseStemmer._stemN)__name__
__module____qualname____doc__r   r<   rX   rb   rd   re   r^   rh   ri   rl   rL   rK   rJ   rI   rm   rn   rs   rf   ra   r_   ro   rp   rq   rr   rt   rE   rE   rE   rF   r      s  




























































1























































































































|










J ,r   c                   @   s   e Zd ZdS )r=   Nru   rv   rw   rE   rE   rE   rF   r=   ~      r=   c                   @   s   e Zd ZdS )rP   Nry   rE   rE   rE   rF   rP     rz   rP   c                   @   s   e Zd ZdS )rM   Nry   rE   rE   rE   rF   rM     rz   rM   c                   @   s   e Zd ZdS )rO   Nry   rE   rE   rE   rF   rO     rz   rO   c                   @   s   e Zd ZdS )rN   Nry   rE   rE   rE   rF   rN     rz   rN   c                   @   s   e Zd ZdS )rR   Nry   rE   rE   rE   rF   rR     rz   rR   c                   @   s   e Zd ZdS )rQ   Nry   rE   rE   rE   rF   rQ     rz   rQ   c                   @   s   e Zd ZdS )rS   Nry   rE   rE   rE   rF   rS     rz   rS   N)Zbasestemmerr   Zamongr   r   BaseExceptionr=   rP   rM   rO   rN   rR   rQ   rS   rE   rE   rE   rF   <module>   s       {