o
    욌h#                     @   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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dedddded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dedddedddedd ded!d dded"ddgZed#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	g d+Z
d&Zd&Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBS )CIndonesianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    kahr   lahpunnyakumui!_IndonesianStemmer__r_SUFFIX_I_OKan"_IndonesianStemmer__r_SUFFIX_AN_OKkan#_IndonesianStemmer__r_SUFFIX_KAN_OKdike   memem   menmeng   meny   _IndonesianStemmer__r_VOWELpem   penpeng   penyterbe_IndonesianStemmer__r_KERbelajar    berpepelajarper)   A      c                 C   B   | j | _| tjdkrdS | j | _|  sdS |  jd8  _dS Nr(   Fr   T)cursorketfind_among_br   a_0bra	slice_del	I_measureself r;   _/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/indonesian_stemmer.py__r_remove_particle<      z%IndonesianStemmer.__r_remove_particlec                 C   r0   r1   )r2   r3   r4   r   a_1r6   r7   r8   r9   r;   r;   r<   __r_remove_possessive_pronounG   r>   z/IndonesianStemmer.__r_remove_possessive_pronounc                 C   s    | j dksdS | j dksdS dS )Nr   Fr   TI_prefixr9   r;   r;   r<   __r_SUFFIX_KAN_OKR   s
   

z#IndonesianStemmer.__r_SUFFIX_KAN_OKc                 C   s   | j dksdS dS )Nr   FTrA   r9   r;   r;   r<   __r_SUFFIX_AN_OKY   s   
z"IndonesianStemmer.__r_SUFFIX_AN_OKc                 C   sT   | j dksdS | j| j }z| dst W dS  ty!   Y nw | j| | _dS )Nr   FsT)rB   limitr2   eq_s_blab0)r:   v_1r;   r;   r<   __r_SUFFIX_I_OK^   s   

z!IndonesianStemmer.__r_SUFFIX_I_OKc                 C   r0   r1   )r2   r3   r4   r   a_2r6   r7   r8   r9   r;   r;   r<   __r_remove_suffixj   r>   z#IndonesianStemmer.__r_remove_suffixc                 C   s   |  tjdds
dS dS )Na   u   FT)in_groupingr   g_vowelr9   r;   r;   r<   	__r_VOWELu   s   zIndonesianStemmer.__r_VOWELc                 C   s&   |  tjdds
dS | dsdS dS )NrM   rN   FerT)out_groupingr   rP   eq_sr9   r;   r;   r<   __r_KERz   s
   
zIndonesianStemmer.__r_KERc                 C   s  | j | _| tj}|dkrdS | j | _|dkr*|  sdS d| _|  jd8  _dS |dkr@|  s4dS d| _|  jd8  _dS |dkrWd| _| 	dsNdS |  jd8  _dS |dkrnd| _| 	dsedS |  jd8  _dS |dkrd| _|  jd8  _z7| j }z| j }| 
tjd	d
st || _ | 	dsW W dS t  ty   Y nw || _ |  sW dS W dS  ty   Y dS w d| _|  jd8  _z7| j }z| j }| 
tjd	d
st || _ | 	dsW W dS t  ty   Y nw || _ |  sW dS W dS  ty
   Y dS w )Nr(   Fr   r   r   rE   r   r   rM   rN   pT)r2   r6   
find_amongr   a_3r3   r7   rB   r8   
slice_fromrO   rP   lab1rH   lab3lab2)r:   	among_varrI   v_2v_3v_4r;   r;   r<   __r_remove_first_order_prefix   s   71
,
'

z/IndonesianStemmer.__r_remove_first_order_prefixc                 C   s   | j | _| tj}|dkrdS | j | _|dkr*|  sdS d| _|  jd8  _dS |dkr>| 	ds5dS |  jd8  _dS |dkrT|  sHdS d| _|  jd8  _dS | 	ds[dS d| _|  jd8  _dS )	Nr(   Fr   r   ajarr   r   T)
r2   r6   rW   r   a_4r3   r7   rB   r8   rY   )r:   r]   r;   r;   r<   __r_remove_second_order_prefix   s6   

z0IndonesianStemmer.__r_remove_second_order_prefixc                 C   s`  d| _ | j}z/	 | j}z| tjddst |  jd7  _|  j d7  _ W q ty/   Y nw || _	 W n	 ty>   Y nw || _| j dksIdS d| _| j| _| j	| _| j	| j }| 
  | j	| | _| j dkskdS | j	| j }|   | j	| | _| j| _| j dksdS z| j}zR| j}|  st | j}z2| j}| j dkst | j| _| j	| _|  st | j| _|| _| j dkst |  st W n	 ty   Y nw || _|| _t  ty   Y nw || _| j}	|   |	| _| j}
z| j dkst | j| _| j	| _|  st | j| _W n
 ty   Y nw |
| _W dS  ty/   Y dS w )Nr(   TrM   rN   r   r   F)r8   r2   go_out_groupingr   rP   rZ   rH   rB   limit_backwardrF   %_IndonesianStemmer__r_remove_particle/_IndonesianStemmer__r_remove_possessive_pronoun/_IndonesianStemmer__r_remove_first_order_prefixr[   lab4#_IndonesianStemmer__r_remove_suffix0_IndonesianStemmer__r_remove_second_order_prefixr\   lab5)r:   rI   r^   r_   r`   v_5v_6v_7v_8v_9v_10r;   r;   r<   _stem   s   






zIndonesianStemmer._stemN)__name__
__module____qualname____doc__r   r5   r?   rK   rX   rc   rP   rB   r8   rg   rh   r   r   r   rk   r   r&   ri   rl   rt   r;   r;   r;   r<   r      s`    




















	Dr   c                   @      e Zd ZdS )rH   Nru   rv   rw   r;   r;   r;   r<   rH   0      rH   c                   @   ry   )rZ   Nrz   r;   r;   r;   r<   rZ   3  r{   rZ   c                   @   ry   )r\   Nrz   r;   r;   r;   r<   r\   6  r{   r\   c                   @   ry   )r[   Nrz   r;   r;   r;   r<   r[   9  r{   r[   c                   @   ry   )rj   Nrz   r;   r;   r;   r<   rj   <  r{   rj   c                   @   ry   )rm   Nrz   r;   r;   r;   r<   rm   ?  r{   rm   N)basestemmerr   amongr   r   BaseExceptionrH   rZ   r\   r[   rj   rm   r;   r;   r;   r<   <module>   s     +