3

U'ícÞ#ã@sŒddlmZddlmZGdd„deƒZGdd„deƒZGdd„deƒZGd	d
„d
eƒZGdd„deƒZ	Gd
d„deƒZ
Gdd„deƒZdS)é)ÚBaseStemmer)ÚAmongc@s¨eZdZdZeddDdƒeddEdƒeddFdƒgZeddGdƒeddHdƒeddIdƒgZed	dJdd
ƒeddKddƒed
dddƒgZeddLdƒeddMdƒeddNdƒedddƒedddƒedddƒeddddƒeddOdƒeddPdƒedddƒed dddƒed!dQdƒgZed"dRdd#ƒed$d%dƒed&d%dƒed'dSdƒed(ddƒed)ddƒgZ	d*d+d,gZ
d%Zd%Zd-d.„Z
d/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Zd?d@„ZdAdB„ZdCS)TÚIndonesianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ZkahrZlahZpunZnyaZkuÚmuÚiÚ!_IndonesianStemmer__r_SUFFIX_I_OKZanÚ"_IndonesianStemmer__r_SUFFIX_AN_OKZkanÚ#_IndonesianStemmer__r_SUFFIX_KAN_OKZdiZkeéÚmeZmeméZmenZmengéZmenyéÚ_IndonesianStemmer__r_VOWELZpeméZpenZpengéZpenyZterÚbeÚ_IndonesianStemmer__r_KERZbelajaréZberÚpeZpelajarZperééAécCsB|j|_|jtjƒdkrdS|j|_|jƒs0dS|jd8_dS)NrFrT)ÚcursorÚketÚfind_among_brÚa_0ÚbraÚ	slice_delÚ	I_measure)Úself©r!úM/tmp/pip-build-gk9425m9/snowballstemmer/snowballstemmer/indonesian_stemmer.pyZ__r_remove_particle<sz%IndonesianStemmer.__r_remove_particlecCsB|j|_|jtjƒdkrdS|j|_|jƒs0dS|jd8_dS)NrFrT)rrrrÚa_1rrr)r r!r!r"Z__r_remove_possessive_pronounGsz/IndonesianStemmer.__r_remove_possessive_pronouncCs |jdksdS|jdksdSdS)NrFr
T)ÚI_prefix)r r!r!r"Z__r_SUFFIX_KAN_OKRs


z#IndonesianStemmer.__r_SUFFIX_KAN_OKcCs|jdksdSdS)NrFT)r$)r r!r!r"Z__r_SUFFIX_AN_OKYs
z"IndonesianStemmer.__r_SUFFIX_AN_OKcCsT|jdksdS|j|j}y|jdƒs,tƒ‚dStk
rBYnX|j||_dS)Nr
FÚsT)r$ÚlimitrZeq_s_bÚlab0)r Úv_1r!r!r"Z__r_SUFFIX_I_OK^s

z!IndonesianStemmer.__r_SUFFIX_I_OKcCsB|j|_|jtjƒdkrdS|j|_|jƒs0dS|jd8_dS)NrFrT)rrrrÚa_2rrr)r r!r!r"Z__r_remove_suffixjsz#IndonesianStemmer.__r_remove_suffixcCs|jtjddƒsdSdS)NéaéuFT)Úin_groupingrÚg_vowel)r r!r!r"Z	__r_VOWELuszIndonesianStemmer.__r_VOWELcCs&|jtjddƒsdS|jdƒs"dSdS)Nr*r+FZerT)Zout_groupingrr-Zeq_s)r r!r!r"Z__r_KERzs

zIndonesianStemmer.__r_KERcCs,|j|_|jtjƒ}|dkr dS|j|_|dkrT|jƒs<dSd|_|jd8_nÔ|dkr€|jƒshdSd|_|jd8_n¨|dkr®d|_|j	dƒsœdS|jd8_nz|dkrÜd|_|j	dƒsÊdS|jd8_nL|dkrˆd|_|jd8_yt|j}y>|j}|j
tjd	d
ƒs"tƒ‚||_|j	dƒs8dSt
ƒ‚Wntk
rVYnX||_|jƒsldSWnt
k
r„YnXn d|_|jd8_yt|j}y>|j}|j
tjd	d
ƒsÄtƒ‚||_|j	dƒsÚdStƒ‚Wntk
røYnX||_|jƒsdSWntk
r&YnXdS)
NrFrr
rr%r
rr*r+ÚpT)rrÚ
find_amongrÚa_3rrr$rÚ
slice_fromr,r-Úlab1r'Úlab3Úlab2)r Ú	among_varr(Úv_2Úv_3Úv_4r!r!r"Z__r_remove_first_order_prefixs‚






z/IndonesianStemmer.__r_remove_first_order_prefixcCsÈ|j|_|jtjƒ}|dkr dS|j|_|dkrR|jƒs<dSd|_|jd8_nr|dkrx|j	dƒshdS|jd8_nL|dkr¢|jƒsŒdSd|_|jd8_n"|j	dƒs°dSd|_|jd8_dS)	NrFrr
Zajarrr
T)
rrr/rÚa_4rrr$rr1)r r5r!r!r"Z__r_remove_second_order_prefixÅs0

z0IndonesianStemmer.__r_remove_second_order_prefixc'CsŠd|_|j}yfx`|j}y8|jtjddƒs.tƒ‚|jd7_|jd7_wWntk
rbYnX||_PqWWntk
r†YnX||_|jdksœdSd|_|j|_|j	|_|j	|j}|j
ƒ|j	||_|jdksàdS|j	|j}|jƒ|j	||_|j|_|jdksdSyT|j}y¶|j}|jƒs:t
ƒ‚|j}yl|j}|jdksZtƒ‚|j|_|j	|_|jƒsztƒ‚|j|_||_|jdksštƒ‚|jƒsªtƒ‚Wntk
rÂYnX||_||_tƒ‚Wnt
k
rîYnX||_|j}	|jƒ|	|_|j}
y>|jdks$tƒ‚|j|_|j	|_|jƒsDtƒ‚|j|_Wntk
rdYnX|
|_Wntk
r„YnXdS)Nrr*r+rr
FT)rrZgo_out_groupingrr-r2r'r$Zlimit_backwardr&Ú%_IndonesianStemmer__r_remove_particleÚ/_IndonesianStemmer__r_remove_possessive_pronounÚ/_IndonesianStemmer__r_remove_first_order_prefixr3Úlab4Ú#_IndonesianStemmer__r_remove_suffixÚ0_IndonesianStemmer__r_remove_second_order_prefixr4Úlab5)r r(r6r7r8Zv_5Zv_6Zv_7Zv_8Zv_9Zv_10r!r!r"Ú_stemâs¢









zIndonesianStemmer._stemNéÿÿÿÿrBrBrBrBrBrBrBrBrBrBrBrBrBrBrB)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rrr#r)r0r9r-r$rr:r;r	rrr>rrr<r?rAr!r!r!r"rsT

















Drc@seZdZdS)r'N)rCrDrEr!r!r!r"r'0sr'c@seZdZdS)r2N)rCrDrEr!r!r!r"r23sr2c@seZdZdS)r4N)rCrDrEr!r!r!r"r46sr4c@seZdZdS)r3N)rCrDrEr!r!r!r"r39sr3c@seZdZdS)r=N)rCrDrEr!r!r!r"r=<sr=c@seZdZdS)r@N)rCrDrEr!r!r!r"r@?sr@N)ZbasestemmerrZamongrrÚ
BaseExceptionr'r2r4r3r=r@r!r!r!r"Ú<module>s+