a
    aX                     @   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                Z   @   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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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d6d7ded8d7ded9d7ded:d7ded;d7dg%Z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dAdd	edBdd	edDdd	gZ
edEdd	edFddedGdd	edHdd	edIddJ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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dJed^dd	ed_dded`dd	edadbd	edcdd	edddd	ededd	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dnddedodd	edpddJedqdd	edrdd	edsdd	edtddeduddedvddJedwddxedydd	edzdd	ed{dd	g3Zed|dd	ed}dd	ed~dd	eddd	eddd	eddd	eddd	edId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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	eddd	eddd	eddd	eddd	eddd	eddd	eddd	edpdd	eddd	ed<dd	ed=d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ddd	eddd	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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dvdd	ed>dd	ed@dd	eddd	eddd	eddd	eddd	gWZg dТZg dѢZdg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 )ItalianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
        Zqu          ár      é      í      ó      ú   IUZlaZcelaZglielaZmelaZtelaZvelaleZceleZglieleZmeleZteleZveleneZcene   ZglieneZmeneZseneZteneZveneZciZliZceli   ZglieliZmeliZteliZveliZglimisiZtiviloZcelo   ZglieloZmeloZteloZveloZandoZendoarZerZiricZabilosZivZicaZlogiaZosaZistaZiva	   ZanzaZenzaZiceZatriceZicheZlogieZabileZibileZusioneZazioneZuzioneZatoreZoseZanteZmenteZamente   ZisteZiveZanzeZenzeZiciZatrici   ZichiZabiliZibiliZismiZusioniZazioniZuzioniZatoriZosiZantiZamentiZimentiZistiZiviZicoZismoZosoZamentoZimentoZivou   ità   u   istàu   istèu   istìZiscaZendaZataZitaZutaZavaZevaZerebbeZirebbeZisceZendeZareZereZireZasseZateZavate   ZevateZivateZeteZereteZireteZiteZeresteZiresteZuteZeraiZiraiZisciZendiZereiZireiZassiZatiZitiZerestiZirestiZutiZaviZeviZiscoZYamoZiamoZavamoZevamoZivamoZeremoZiremoZassimoZammoZemmoZeremmo6   ZiremmoZimmoZanoZiscano:   ZavanoZevanoZivanoZerannoZirannoZonoZisconoA   ZaronoZeronoZironoZerebberoZirebberoZasseroZesseroZisseroZatoZitoZutoZavoZevou   eràu   iràu   eròu   irò)   r(   r%   r   r   r   r   r   r   r   r   r   r   r   r      r*   r$   r   r   )r)   r(   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r*   r$   r   r)   c                 C   s  | j }| j }z| j | _| tj}|dkr0t | j | _|dkrR| dsW dS n|dkrl| dsW dS n|dkr| dsW dS nn|d	kr| d
sW dS nT|dkr| dsW dS n:|dkr| dsW dS n | j | jkrt |  j d7  _ W qW n ty   Y n0 || _ qq|| _ | j }z|zZ| j }z| 	tj
ddsRt | j | _z| j }zV| dsvt | j | _| 	tj
ddst | dsW W W W W dS t W n ty   Y n0 || _ | dst | j | _| 	tj
ddst | dsW W W W dS W n ty4   Y n0 || _ t W n tyX   Y n0 || _ | j | jkrtt |  j d7  _ q0W n ty   Y n0 W q"W n ty   Y n0 || _ qʐq"dS )Nr   r      àFr      èr      ìr      òr      ùr	   ZqUa      ur   ir   T)cursorbra
find_amongr   a_0lab0ket
slice_fromlimitin_groupingg_vlab3Zeq_slab5lab4lab2lab1)selfv_1v_2	among_varv_3v_4v_5 rJ   >lib/python3.9/site-packages/snowballstemmer/italian_stemmer.pyZ__r_prelude   s    








zItalianStemmer.__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 )Nr0   r1   r   T)r;   I_pVI_p1I_p2r4   r<   r   r=   rA   Zout_groupingr@   Zgo_out_groupingr>   Zgo_in_groupingrB   r8   lab6r?   lab7)rC   rD   rE   rG   rH   rI   rJ   rJ   rK   Z__r_mark_regionsF  s    


zItalianStemmer.__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   r3   Fr   r2   T)	r4   r5   r6   r   a_1r8   r9   r:   r;   )rC   rD   rF   rJ   rJ   rK   Z__r_postlude  s*    

zItalianStemmer.__r_postludec                 C   s   | j | jksdS dS NFT)rL   r4   rC   rJ   rJ   rK   Z__r_RV  s    zItalianStemmer.__r_RVc                 C   s   | j | jksdS dS rR   )rM   r4   rS   rJ   rJ   rK   Z__r_R1  s    zItalianStemmer.__r_R1c                 C   s   | j | jksdS dS rR   )rN   r4   rS   rJ   rJ   rK   Z__r_R2  s    zItalianStemmer.__r_R2c                 C   sp   | j | _| tjdkrdS | j | _| tj}|dkr<dS |  sHdS |dkr^|  sldS n| 	dsldS dS )Nr   Fr   eT)
r4   r9   find_among_br   a_2r5   a_3_ItalianStemmer__r_RV	slice_delr:   )rC   rF   rJ   rJ   rK   Z__r_attached_pronoun  s    
z#ItalianStemmer.__r_attached_pronounc                 C   sT  | 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  }zX| j | _| 	ds| j| | _ t
 | j | _|  s| j| | _ t
 |  sW dS W n t
y   Y n0 nh|dkr|  sdS | dsPdS n>|dkr>|  s*dS | d	sPdS n|d
krj|  sVdS | dsPdS n|dkr|  sdS |  sPdS n|dkr|  sdS |  sdS | j| j  }z| j | _| tj}|dkr| j| | _ t | j | _|  s| j| | _ t |  s,W dS |dkr| j | _| 	ds\| j| | _ t | j | _|  s| j| | _ t |  sW dS W n ty   Y n0 n|dkrZ|  sdS |  sdS | j| j  }zd| j | _| tjdkr| j| | _ t | j | _|  s0| j| | _ t |  s@W dS W n tyV   Y n0 n|  shdS |  svdS | j| j  }z| j | _| 	ds| j| | _ t | j | _|  s| j| | _ t |  sW dS | j | _| 	ds| j| | _ t | j | _|  s(| j| | _ t |  s8W dS W n tyN   Y n0 dS )Nr   Fr   r   r   r   logr   r2   r   Zenter	   r   Zatr$   T)r4   r9   rU   r   a_6r5   _ItalianStemmer__r_R2rY   r;   eq_s_br8   r:   rX   _ItalianStemmer__r_R1a_4rB   a_5rA   r>   )rC   rF   rD   rE   rG   rH   rJ   rJ   rK   Z__r_standard_suffix  s    
































z"ItalianStemmer.__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)	r4   rL   limit_backwardr9   rU   r   a_7r5   rY   )rC   rE   rJ   rJ   rK   Z__r_verb_suffixV  s    zItalianStemmer.__r_verb_suffixc                 C   sz  | j | j }z| j| _| tjdds8| j | | _t | j| _|  sZ| j | | _t | 	 shW dS | j| _| 
ds| j | | _t | j| _|  s| j | | _t | 	 sW dS W n ty   Y n0 | j | j }z| j| _| 
ds| j | | _t | j| _| tjdds2| j | | _t |  sN| j | | _t | 	 s^W dS W n tyt   Y n0 dS )	Nr0      Fr3   hc   g   T)r;   r4   r9   Zin_grouping_br   g_AEIOr8   r5   rX   rY   r]   rB   g_CG)rC   rD   rE   rJ   rJ   rK   Z__r_vowel_suffixf  sP    




zItalianStemmer.__r_vowel_suffixc                 C   s&  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }znzV| j| j  }z|  sxt 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 )NT)r4   _ItalianStemmer__r_prelude_ItalianStemmer__r_mark_regionsra   r;   #_ItalianStemmer__r_attached_pronoun"_ItalianStemmer__r_standard_suffixrA   rB   _ItalianStemmer__r_verb_suffixr8   _ItalianStemmer__r_vowel_suffix_ItalianStemmer__r_postlude)rC   rD   rG   rH   rI   Zv_6Zv_7rJ   rJ   rK   _stem  s@    

zItalianStemmer._stemN)__name__
__module____qualname____doc__r   r7   rQ   rV   rW   r_   r`   r[   rb   r=   rg   rh   rN   rM   rL   ri   rj   ro   rX   r^   r\   rk   rl   rm   rn   rp   rJ   rJ   rJ   rK   r      s  














































)




	

























































7






















































































ZRJ -r   c                   @   s   e Zd ZdS )r8   Nrq   rr   rs   rJ   rJ   rJ   rK   r8         r8   c                   @   s   e Zd ZdS )rB   Nru   rJ   rJ   rJ   rK   rB     rv   rB   c                   @   s   e Zd ZdS )rA   Nru   rJ   rJ   rJ   rK   rA     rv   rA   c                   @   s   e Zd ZdS )r>   Nru   rJ   rJ   rJ   rK   r>     rv   r>   c                   @   s   e Zd ZdS )r@   Nru   rJ   rJ   rJ   rK   r@     rv   r@   c                   @   s   e Zd ZdS )r?   Nru   rJ   rJ   rJ   rK   r?     rv   r?   c                   @   s   e Zd ZdS )rO   Nru   rJ   rJ   rJ   rK   rO     rv   rO   c                   @   s   e Zd ZdS )rP   Nru   rJ   rJ   rJ   rK   rP     rv   rP   N)Zbasestemmerr   Zamongr   r   BaseExceptionr8   rB   rA   r>   r@   r?   rO   rP   rJ   rJ   rJ   rK   <module>   s        4