a
    Òï aÞ#  ã                   @   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/
    Zkahéÿÿÿÿr   ZlahZpunZnyaZkuZmuÚiÚ!_IndonesianStemmer__r_SUFFIX_I_OKZanÚ"_IndonesianStemmer__r_SUFFIX_AN_OKZkanÚ#_IndonesianStemmer__r_SUFFIX_KAN_OKZdiZkeé   ÚmeZmemé   ZmenZmengé   Zmenyé   Ú_IndonesianStemmer__r_VOWELZpemé   ZpenZpengé   ZpenyZterÚbeÚ_IndonesianStemmer__r_KERZbelajaré    ZberZpeZpelajarZper)é   éA   é   c                 C   sB   | j | _|  tj¡dkrdS | j | _|  ¡ s0dS |  jd8  _dS ©Nr   Fr   T)ÚcursorÚketÚfind_among_br   Úa_0ÚbraÚ	slice_delÚ	I_measure©Úself© r"   úAlib/python3.9/site-packages/snowballstemmer/indonesian_stemmer.pyZ__r_remove_particle<   s    z%IndonesianStemmer.__r_remove_particlec                 C   sB   | j | _|  tj¡dkrdS | j | _|  ¡ s0dS |  jd8  _dS r   )r   r   r   r   Úa_1r   r   r   r    r"   r"   r#   Z__r_remove_possessive_pronounG   s    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_prefixr    r"   r"   r#   Z__r_SUFFIX_KAN_OKR   s
    

z#IndonesianStemmer.__r_SUFFIX_KAN_OKc                 C   s   | j dksdS dS )Nr   FTr%   r    r"   r"   r#   Z__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yB   Y n0 | j| | _dS )Nr
   FÚsT)r&   Úlimitr   Zeq_s_bÚlab0)r!   Úv_1r"   r"   r#   Z__r_SUFFIX_I_OK^   s    

z!IndonesianStemmer.__r_SUFFIX_I_OKc                 C   sB   | j | _|  tj¡dkrdS | j | _|  ¡ s0dS |  jd8  _dS r   )r   r   r   r   Úa_2r   r   r   r    r"   r"   r#   Z__r_remove_suffixj   s    z#IndonesianStemmer.__r_remove_suffixc                 C   s   |   tjdd¡sdS dS )Néa   éu   FT)Úin_groupingr   Úg_vowelr    r"   r"   r#   Z	__r_VOWELu   s    zIndonesianStemmer.__r_VOWELc                 C   s&   |   tjdd¡sdS |  d¡s"dS dS )Nr,   r-   FZerT)Zout_groupingr   r/   Zeq_sr    r"   r"   r#   Z__r_KERz   s
    
zIndonesianStemmer.__r_KERc                 C   s0  | j | _|  tj¡}|dkr dS | j | _|dkrT|  ¡ s<dS d| _|  jd8  _nØ|dkr€|  ¡ shdS d| _|  jd8  _n¬|dkr®d| _|  	d¡sœdS |  jd8  _n~|dkrÜd| _|  	d¡sÊdS |  jd8  _nP|dkrŠd| _|  jd8  _zx| j }zB| j }|  
tjd	d
¡s"tƒ ‚|| _ |  	d¡s<W W dS tƒ ‚W n tyX   Y n0 || _ |  ¡ spW dS W n ty†   Y n0 n¢d| _|  jd8  _zx| j }zB| j }|  
tjd	d
¡sÆtƒ ‚|| _ |  	d¡sàW W dS tƒ ‚W n tyü   Y n0 || _ |  ¡ sW dS W n ty*   Y n0 dS )Nr   Fr   r
   r   r'   r   r   r,   r-   ÚpT)r   r   Ú
find_amongr   Úa_3r   r   r&   r   Ú
slice_fromr.   r/   Úlab1r)   Úlab3Úlab2)r!   Ú	among_varr*   Úv_2Úv_3Úv_4r"   r"   r#   Z__r_remove_first_order_prefix   sz    








z/IndonesianStemmer.__r_remove_first_order_prefixc                 C   sÈ   | j | _|  tj¡}|dkr dS | j | _|dkrR|  ¡ s<dS d| _|  jd8  _nr|dkrx|  	d¡shdS |  jd8  _nL|dkr¢|  ¡ sŒdS d| _|  jd8  _n"|  	d¡s°dS d| _|  jd8  _dS )	Nr   Fr   r
   Zajarr   r   T)
r   r   r1   r   Úa_4r   r   r&   r   r3   )r!   r7   r"   r"   r#   Z__r_remove_second_order_prefixÅ   s0    

z0IndonesianStemmer.__r_remove_second_order_prefixc                 C   s|  d| _ | j}zb| j}z:|  tjdd¡s,tƒ ‚|  jd7  _|  j d7  _ W qW n ty`   Y n0 || _qlqW n ty€   Y n0 || _| j dks–dS d| _| j| _| j	| _| j	| j }|  
¡  | j	| | _| j dksÚdS | j	| j }|  ¡  | j	| | _| j| _| j dksdS zN| j}z´| j}|  ¡ s4tƒ ‚| j}zl| j}| j dksTtƒ ‚| j| _| j	| _|  ¡ sttƒ ‚| j| _|| _| j dks”tƒ ‚|  ¡ s¤tƒ ‚W n tyº   Y n0 || _|| _tƒ ‚W n tyä   Y n0 || _| j}	|  ¡  |	| _| j}
z>| j dkstƒ ‚| j| _| j	| _|  ¡ s:tƒ ‚| j| _W n tyX   Y n0 |
| _W n tyv   Y n0 dS )Nr   r,   r-   r   r
   FT)r   r   Zgo_out_groupingr   r/   r4   r)   r&   Zlimit_backwardr(   Ú%_IndonesianStemmer__r_remove_particleÚ/_IndonesianStemmer__r_remove_possessive_pronounÚ/_IndonesianStemmer__r_remove_first_order_prefixr5   Úlab4Ú#_IndonesianStemmer__r_remove_suffixÚ0_IndonesianStemmer__r_remove_second_order_prefixr6   Úlab5)r!   r*   r8   r9   r:   Zv_5Zv_6Zv_7Zv_8Zv_9Zv_10r"   r"   r#   Ú_stemâ   s”    








zIndonesianStemmer._stemN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r$   r+   r2   r;   r/   r&   r   r<   r=   r	   r   r   r@   r   r   r>   rA   rC   r"   r"   r"   r#   r      s^   


ý


ýý









ô




ú	Dr   c                   @   s   e Zd ZdS )r)   N©rD   rE   rF   r"   r"   r"   r#   r)   0  ó    r)   c                   @   s   e Zd ZdS )r4   NrH   r"   r"   r"   r#   r4   3  rI   r4   c                   @   s   e Zd ZdS )r6   NrH   r"   r"   r"   r#   r6   6  rI   r6   c                   @   s   e Zd ZdS )r5   NrH   r"   r"   r"   r#   r5   9  rI   r5   c                   @   s   e Zd ZdS )r?   NrH   r"   r"   r"   r#   r?   <  rI   r?   c                   @   s   e Zd ZdS )rB   NrH   r"   r"   r"   r#   rB   ?  rI   rB   N)Zbasestemmerr   Zamongr   r   ÚBaseExceptionr)   r4   r6   r5   r?   rB   r"   r"   r"   r#   Ú<module>   s     +