U
    YSh)E                     @   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                   @   sd  e Zd ZdZdddddhZdddhZddd	d
ddddddh
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d(d) Zed*d+d,ed-d.d/ed0d.d1ed2d.d3ed4d.d5ed6d.d7ed8d.d9ed:d.d;ed<d.d=ed>d.d9ed?d.d9ed@d.d9edAd.dBedCd.dDedEd.dFedGd.dHedId.dJgZedKd+d+edd+d+edLd1d+edMd+d+edd+d+edNd7d+gZedOd+d+edPd+d+edQd+d+edRd+d+edSd5d+edTd5d+edUd+d+edVd+d+edWdBd+edXd+d+edYd+d+edZd+d+ed[dJd+ed\d+d+ed]d+d+ed^d,d+ed_d,d+gZed`d+d+edad+d+edbd1d+edcd+d+eddd5d+eded+d+edfd+d+edgd+d+edhd+d+edidDd+edjd+d+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+gZedtd+d+edud+d+gZedvd+d+edwd.d+edxd+d+edyd+d+edzd+d+ed{d+d+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dd+d+edd+d+edd+d+edd+d+edd+d+eddd+edd+d+edd+d+edd+d+edd+d+edd+d+gZedd+d+edd+d+edud+d+gZedd+d+edd+d+gZedd+d+edd.d+edd+d+edd+d+edd5d+edd5d+edd+d+gZedd+d+edd+d+edd+d+edd+d+eedd5d+edd5d+edd+d+eedd=d+edd=d+edd=d+eeddFd+eddFd+edd=d+edd+d+edKd+d+edLd+d+edMd+d+edNd+d+edd+d+gZdS )EsperantoStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from esperanto.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiou0123456789Fc                 C   s"  d| _ | j}z| j| _| tj}| j| _|dkrH| dsDW dS n|dkrd| ds`W dS nd|dkr| ds|W dS nH|dkr| d	sW dS n,|d
kr| dsW dS n|dkr| dsW dS n|dkr| dsW dS d| _ n|dkr| dsW dS d| _ n|dkr:| ds2W dS d| _ n|dkr^| dsVW dS d| _ nj|dkr| dszW dS d| _ nF|dkrd| _ n4|dkrd| _ n"| j| jkrt	 |  jd7  _W qW n t	k
r   Y nX || _qqz| j st
 W dS  t
k
r   Y nX dS )NFr      ĉ   u   ĝ   u   ĥ   u   ĵ   u   ŝ   u   ŭ   r   T   r   	   r   
   r      r	         )	B_foreigncursorbra
find_amongr   a_0ket
slice_fromlimitlab0lab1)selfv_1Z	among_var r-   T/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/esperanto_stemmer.pyZ__r_canonical_form   s~    

















  z#EsperantoStemmer.__r_canonical_formc                 C   sb   | j | _| dsdS | j | _| ds,dS | tjdkr@dS | j | jk rPdS | ds^dS dS )N'Fst    r   T)	r"   r#   Zeq_sr&   r$   r   a_1r(   r'   r+   r-   r-   r.   Z__r_initial_apostropheW   s    


z'EsperantoStemmer.__r_initial_apostrophec                 C   s   | j | _| j| j  }z | ds2| j| | _ t W n tk
rH   Y nX | j | _| tjdkrfdS z^| j| j  }z| j | j	krt
 t W n t
k
r   Y nX | j| | _ | dsW dS W n tk
r   Y nX |  sdS dS )Nnr1   F-T)r"   r&   r(   eq_s_br)   r#   find_among_br   a_2limit_backwardlab2r*   	slice_delr+   r,   v_2r-   r-   r.   Z__r_pronounf   s6    

 
 

 zEsperantoStemmer.__r_pronounc                 C   s  | j | _| dsdS | j | _z| j| j  }z>| ds@t | j | jkrRt | dsdW W dS t W n tk
r   Y nX | j| | _ z>| dst	 | j | jkrt	 | dsW W dS t W n t	k
r   Y nX | j| | _ z| 
tjdkrt zd| j| j  }z| j | jkr,t t W n tk
rJ   Y nX | j| | _ | dsjt W n tk
r   Y nX | d	sW W dS t W n tk
r   Y nX | j| | _ | d
sW dS W n tk
r   Y nX dS )Nr/   Flr   unr	   r1   r5   u   aŭr   T)r"   r&   r6   r#   r(   r*   r9   r'   r)   r:   r7   r   a_3lab3lab5lab4r<   r-   r-   r.   Z__r_final_apostrophe   sn    



 


 
 
 
 
 z%EsperantoStemmer.__r_final_apostrophec                 C   s2  | j | _| j| j  }z | ds2| j| | _ t W n tk
rH   Y nX | j| j  }z | dst| j| | _ t W n tk
r   Y nX | j | _| tj	dkrdS z`| j| j  }z| j | j
krt t W n tk
r   Y nX | j| | _ | dsW dS W n tk
r   Y nX |  s.dS dS )Nr4   jr1   Fr5   T)r"   r&   r(   r6   r)   r*   r#   r7   r   a_4r9   rA   r:   r;   )r+   r,   r=   v_3r-   r-   r.   Z__r_ujn_suffix   sD    

 

 
 
 
zEsperantoStemmer.__r_ujn_suffixc                 C   s   |  tjdkrdS z^| j| j }z| j| jkr6t t W n tk
rR   Y nX | j| | _| dspW dS W n tk
r   Y nX dS Nr1   Fr5   T)	r7   r   a_5r(   r"   r9   r*   r)   r6   r+   r,   r-   r-   r.   Z__r_uninflected   s     
 

 z EsperantoStemmer.__r_uninflectedc                 C   s,   |  tjdkrdS |  tjdkr(dS dS )Nr1   FT)r7   r   a_6a_7r3   r-   r-   r.   Z__r_merged_numeral   s
    z#EsperantoStemmer.__r_merged_numeralc                 C   sf  | j | _| j | _| j| j  }z:| j| j  }zd| j| j  }z | dsX| j| | _ t W n tk
rn   Y nX | j | _| dst t W n tk
r   Y nX | j| | _ | j| j  }z | ds| j| | _ t W n tk
r   Y nX | j| j  }z"| ds | j| | _ t	 W n t	k
r8   Y nX | j | _| 
tjsVW dS W n tk
rn   Y nX | dsdS | j| j  }z(| tjdkr| j| | _ t W n tk
r   Y nX zd| j| j  }z| j | jkrt t W n tk
r   Y nX | j| | _ | ds.W dS W n tk
rF   Y nX | j| | _ |  sbdS dS )	Nr4   r   rD   Fr   r1   r5   T)r"   r&   r#   r(   r6   r:   r*   r)   rA   rC   in_grouping_br   g_aour7   a_8rB   r9   lab7lab6r;   )r+   r,   r=   rF   v_4v_5v_6v_7r-   r-   r.   Z__r_correlative   s    

 

 

 
 
 
 
 
 
z EsperantoStemmer.__r_correlativec                 C   s`  zB| j | j }z4dD ]$}| tjs,t |  jd8  _qt W n tk
rX   Y nX | j | | _zzVz| ds|t t	 W n tk
r   Y nX | j| j
krt |  jd8  _qjW n t	k
r   Y nX | j| j
krt |  jd8  _t W n tk
r   Y nX | j | | _| tjs4W dS |  jd8  _W n tk
rZ   Y nX dS )N)r1   r1   r   r5   FT)r(   r"   Zgo_out_grouping_br   g_vowelr*   r)   r6   rC   rA   r9   r:   g_digitr<   r-   r-   r.   Z__r_long_word(  sJ    
 

  
  zEsperantoStemmer.__r_long_wordc                 C   sx   z^| j | j }z| ds t t W n tk
r<   Y nX | j | | _| tjs\W dS W n tk
rr   Y nX dS )Nr5   FT)r(   r"   r6   r*   r)   rL   r   rV   rI   r-   r-   r.   Z__r_not_after_letterL  s    

 
 z%EsperantoStemmer.__r_not_after_letterc                 C   sv   | j | _| tjdkrdS | j| j  }z | dsF| j| | _ t W n tk
r\   Y nX | j | _| 	 srdS dS rG   )
r"   r&   r7   r   a_9r(   r6   r)   r#   r;   rI   r-   r-   r.   Z__r_standard_suffixZ  s    

 z$EsperantoStemmer.__r_standard_suffixc           
      C   s  | j }|  sdS || _ | j }|   || _ | j | _| j| _ | j| j  }z|  sXt W dS  tk
rp   Y nX | j| | _ | j| j  }|   | j| | _ | j| j  }z|  st	 W dS  t	k
r   Y nX | j| | _ | j| j  }z| 
  st W dS  tk
r   Y nX | j| | _ | j| j  }z|  sDt W dS  tk
r^   Y nX | j| | _ | j| j  }z|  st W dS  tk
r   Y nX | j| | _ | j| j  }	|  sdS | j|	 | _ |  sdS | j| _ dS )NFT)r"   #_EsperantoStemmer__r_canonical_form'_EsperantoStemmer__r_initial_apostropher9   r(   _EsperantoStemmer__r_pronounr)   %_EsperantoStemmer__r_final_apostrophe _EsperantoStemmer__r_correlativer*    _EsperantoStemmer__r_uninflectedr:   #_EsperantoStemmer__r_merged_numeralrA   _EsperantoStemmer__r_ujn_suffixrC   _EsperantoStemmer__r_long_word$_EsperantoStemmer__r_standard_suffix)
r+   r,   r=   rF   rQ   rR   rS   rT   Zv_8Zv_9r-   r-   r.   _stemj  sx      
 
 
 

zEsperantoStemmer._stem    r5   r1   r    Zcxr   Zgxr   hxr   Zjxr   qr   sxr   Zuxr   wxy   ár      ér      ír      ór      úr   asisosuscigihiZliZiliu   ŝliminiZonirisiviZiviu   ĝiu   ŝiu   iŝiu   malŝiZambbaldZmalbaldZmorgZpostmorgZadiZhodiZanku   ĉirku   tutĉirkZpreskZalmenZapenZhieru
   antaŭhierZmalgrZankorZkontrZanstatZkvazZaliuZunuZahaZhahaZhalelujaZholaZhosanaZmaltraZhurau   ĥaĥaZekdeZeldeZdisdeZeheZmaltreZ	dirlididiZmalpliu   malĉiZmalkajZamenZtamen   ZohoZmaltrominusZuhuZmuuZtriZduZdekcentkZkelkZnentZmultZsamtr   rD   ZajZojr4   ZanenZjnZajnZojnonN)__name__
__module____qualname____doc__rU   rM   rV   r!   rX   rY   rZ   r[   r_   r]   r^   r\   r`   Z%_EsperantoStemmer__r_not_after_letterra   rb   r   r%   r2   r8   r@   rE   rH   rJ   rK   rN   rW   r-   r-   r-   r.   r      s   
A3!<$:


















































































































r   c                   @   s   e Zd ZdS )r)   Nr   r   r   r-   r-   r-   r.   r)   7  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 )rA   Nr   r-   r-   r-   r.   rA   @  s    rA   c                   @   s   e Zd ZdS )rC   Nr   r-   r-   r-   r.   rC   C  s    rC   c                   @   s   e Zd ZdS )rB   Nr   r-   r-   r-   r.   rB   F  s    rB   c                   @   s   e Zd ZdS )rP   Nr   r-   r-   r-   r.   rP   I  s    rP   c                   @   s   e Zd ZdS )rO   Nr   r-   r-   r-   r.   rO   L  s    rO   N)Zbasestemmerr   Zamongr   r   BaseExceptionr)   r*   r:   rA   rC   rB   rP   rO   r-   r-   r-   r.   <module>   s       3