B
    _Ҕ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ddddddddddddddddddxdd	gZddddddddddddddddddxdg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ò      c             C   s  | j }x
| j }y| j | _| tj}|dkr4t | j | _|dkrT| dsdS n|dkrl| dsdS n|dkr| 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 || _ x| j }ytyRxJ| j }y| 	tj
ddsPt | j | _y| j }yL| dstt | j | _| 	tj
ddst | dsdS t W n tk
r   Y nX || _ | dst | j | _| 	tj
ddst | dsdS W n tk
r$   Y nX || _ t W n tk
rJ   Y nX || _ | j | jkrft |  j d7  _ q0W W n tk
r   Y nX wW n tk
r   Y nX || _ P qW 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.7/site-packages/snowballstemmer/italian_stemmer.pyZ__r_prelude   s    





 
  
   zItalianStemmer.__r_preludec             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 )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   x| j }y| j | _| tj}|dkr,t | j | _|dkrL| dsdS n8|dkrd| dsdS n | j | jkrvt |  j d7  _ wW n tk
r   Y nX || _ P qW 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 )NFT)rM   r4   )rC   rJ   rJ   rK   Z__r_R1  s    zItalianStemmer.__r_R1c             C   s   | j | jksdS dS )NFT)rN   r4   )rC   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   sP  | 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 nd|dkr|  sdS | dsLdS n:|dkr>|  s*dS | d	sLdS n|d
krj|  sVdS | dsLdS n|dkr|  sdS |  sLd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r| j | _| 	dsZ| j| | _ t | j | _|  s~| j| | _ t |  sdS W n tk
r   Y nX n|dkrX|  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
rT   Y nX n|  sfdS |  stdS | j| j  }y| j | _| 	ds| j| | _ t | j | _|  s| j| | _ t |  sdS | j | _| 	ds | j| | _ t | j | _|  s$| j| | _ t |  s2dS W n tk
rJ   Y nX dS )Nr   Fr   r   r   r   logr   r2   r   Zenter	   r   Zatr$   T)r4   r9   rS   r   a_6r5   _ItalianStemmer__r_R2rW   r;   eq_s_br8   r:   rV   _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   rS   r   a_7r5   rW   )rC   rE   rJ   rJ   rK   Z__r_verb_suffixV  s    zItalianStemmer.__r_verb_suffixc             C   sx  | j | j }y| j| _| tjdds8| j | | _t | j| _|  sZ| j | | _t | 	 sfdS | j| _| 
ds| j | | _t | j| _|  s| j | | _t | 	 sdS W n tk
r   Y nX | j | j }y| j| _| 
ds| j | | _t | j| _| tjdds0| j | | _t |  sL| j | | _t | 	 sZdS W n tk
rr   Y nX dS )	Nr0      Fr3   hc   g   T)r;   r4   r9   Zin_grouping_br   g_AEIOr8   r5   rV   rW   r[   rB   g_CG)rC   rD   rE   rJ   rJ   rK   Z__r_vowel_suffixf  sT    
 

 zItalianStemmer.__r_vowel_suffixc             C   s,  | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }yryX| j| j  }y|  sxt 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)r4   _ItalianStemmer__r_prelude_ItalianStemmer__r_mark_regionsr_   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  sF    
 
 
 zItalianStemmer._stemN)__name__
__module____qualname____doc__r   r7   rQ   rT   rU   r]   r^   rY   r`   r=   re   rf   rN   rM   rL   rg   rh   rm   rV   r\   rZ   ri   rj   rk   rl   rn   rJ   rJ   rJ   rK   r      s  




























































































































































































,*RJ -r   c               @   s   e Zd ZdS )r8   N)ro   rp   rq   rJ   rJ   rJ   rK   r8     s    r8   c               @   s   e Zd ZdS )rB   N)ro   rp   rq   rJ   rJ   rJ   rK   rB     s    rB   c               @   s   e Zd ZdS )rA   N)ro   rp   rq   rJ   rJ   rJ   rK   rA     s    rA   c               @   s   e Zd ZdS )r>   N)ro   rp   rq   rJ   rJ   rJ   rK   r>     s    r>   c               @   s   e Zd ZdS )r@   N)ro   rp   rq   rJ   rJ   rJ   rK   r@     s    r@   c               @   s   e Zd ZdS )r?   N)ro   rp   rq   rJ   rJ   rJ   rK   r?     s    r?   c               @   s   e Zd ZdS )rO   N)ro   rp   rq   rJ   rJ   rJ   rK   rO     s    rO   c               @   s   e Zd ZdS )rP   N)ro   rp   rq   rJ   rJ   rJ   rK   rP     s    rP   N)Zbasestemmerr   Zamongr   r   BaseExceptionr8   rB   rA   r>   r@   r?   rO   rP   rJ   rJ   rJ   rK   <module>   s        4