o =b#@sddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ dS)) BaseStemmer)Amongc@seZdZdZedddedddedddgZedddeddded ddgZed ddd ed ddd eddddgZedddedddedddedddedddedddeddddedddedddedd ded!d dded"ddg Zed#ddd$ed%d&ded'd&ded(dded)dded*ddgZ gd+Z d&Z d&Z d,d-Z d.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBS)CIndonesianStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ kahrlahpunnyakumui!_IndonesianStemmer__r_SUFFIX_I_OKan"_IndonesianStemmer__r_SUFFIX_AN_OKkan#_IndonesianStemmer__r_SUFFIX_KAN_OKdikemememmenmengmeny_IndonesianStemmer__r_VOWELpempenpengpenyterbe_IndonesianStemmer__r_KERbelajarberpepelajarper)AcCB|j|_|tjdkrdS|j|_|sdS|jd8_dSNr(FrT)cursorket find_among_bra_0bra slice_del I_measureselfr;D/usr/lib/python3/dist-packages/snowballstemmer/indonesian_stemmer.py__r_remove_particle<z%IndonesianStemmer.__r_remove_particlecCr0r1)r2r3r4ra_1r6r7r8r9r;r;r<__r_remove_possessive_pronounGr>z/IndonesianStemmer.__r_remove_possessive_pronouncCs |jdksdS|jdksdSdS)NrFrTI_prefixr9r;r;r<__r_SUFFIX_KAN_OKRs  z#IndonesianStemmer.__r_SUFFIX_KAN_OKcCs|jdksdSdS)NrFTrAr9r;r;r<__r_SUFFIX_AN_OKYs z"IndonesianStemmer.__r_SUFFIX_AN_OKcCsT|jdksdS|j|j}z |dstWdSty!Ynw|j||_dS)NrFsT)rBlimitr2eq_s_blab0)r:v_1r;r;r<__r_SUFFIX_I_OK^s    z!IndonesianStemmer.__r_SUFFIX_I_OKcCr0r1)r2r3r4ra_2r6r7r8r9r;r;r<__r_remove_suffixjr>z#IndonesianStemmer.__r_remove_suffixcCs|tjdds dSdS)NauFT) in_groupingrg_vowelr9r;r;r< __r_VOWELuszIndonesianStemmer.__r_VOWELcCs&|tjdds dS|dsdSdS)NrMrNFerT) out_groupingrrPeq_sr9r;r;r<__r_KERzs  zIndonesianStemmer.__r_KERcCs|j|_|tj}|dkrdS|j|_|dkr*|sdSd|_|jd8_d S|dkr@|s4dSd|_|jd8_d S|dkrWd|_| dsNdS|jd8_d S|dkrnd|_| dsedS|jd8_d S|dkrd|_|jd8_z7|j}z|j}| tj d d st ||_| d sWWdSt t yYnw||_|sWdSWd St yYd Swd|_|jd8_z7|j}z|j}| tj d d st||_| d sWWdSttyYnw||_|sWdSWd Sty Yd Sw) Nr(FrrrrErrrMrNpT)r2r6 find_amongra_3r3r7rBr8 slice_fromrOrPlab1rHlab3lab2)r: among_varrIv_2v_3v_4r;r;r<__r_remove_first_order_prefixs 71 , '  z/IndonesianStemmer.__r_remove_first_order_prefixcCs|j|_|tj}|dkrdS|j|_|dkr*|sdSd|_|jd8_dS|dkr>| ds5dS|jd8_dS|dkrT|sHdSd|_|jd8_dS| ds[dSd|_|jd8_dS) Nr(FrrajarrrT) r2r6rWra_4r3r7rBr8rY)r:r]r;r;r<__r_remove_second_order_prefixs6    z0IndonesianStemmer.__r_remove_second_order_prefixc Cs`d|_|j}z/ |j}z|tjddst|jd7_|jd7_Wqty/Ynw||_ Wn ty>Ynw||_|jdksIdSd|_|j|_|j |_|j |j}| |j ||_|jdkskdS|j |j}| |j ||_|j|_|jdksdSz|j}zR|j}| st |j}z2|j}|jdkst|j|_|j |_|st|j|_||_|jdkst|stWn tyYnw||_||_tt yYnw||_|j} || |_|j} z|jdkst|j|_|j |_|st|j|_Wn tyYnw| |_WdSty/YdSw)Nr(TrMrNrrF)r8r2go_out_groupingrrPrZrHrBlimit_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:rIr^r_r`v_5v_6v_7v_8v_9v_10r;r;r<_stems            zIndonesianStemmer._stemN)__name__ __module__ __qualname____doc__rr5r?rKrXrcrPrBr8rgrhrrr rkrr&rirlrtr;r;r;r<rs`                                D rc@ eZdZdS)rHNrurvrwr;r;r;r<rH0 rHc@ry)rZNrzr;r;r;r<rZ3r{rZc@ry)r\Nrzr;r;r;r<r\6r{r\c@ry)r[Nrzr;r;r;r<r[9r{r[c@ry)rjNrzr;r;r;r<rj<r{rjc@ry)rmNrzr;r;r;r<rm?r{rmN) basestemmerramongrr BaseExceptionrHrZr\r[rjrmr;r;r;r<s  +