o =b48@sddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ GdddeZ GdddeZ GdddeZdS)) BaseStemmer)Amongc@seZdZdZedddedddeddded dd ed dd ed dd eddd edddedddedddedddg Zeddd eddd edddgZedddedddedddgZeddd eddd eddd edd deddd gZeddded dd ed!dded"dd ed#dded$ddgZ ed%dded&dded'dded(ddgZ gd)Z gd*Z gd+Z dZdZd,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAS)B DutchStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ áräéëíïóöúüIYddkktteneseenhedensendiginglijkbaarbaraaeeoouu)Arr r r r r r r r r r r r )rr r r+r,r-rr r r r r r r r r r r r r.)r+Cr-rr r r r r r r r r r r r r.FcCs|j} |j}zh|j|_|tj}|dkrt|j|_|dkr*|ds)WdSnD|dkr7|ds6WdSn7|dkrD|d sCWdSn*|d krQ|d sPWdSn|d kr^|d s]WdSn|j|jkrgt|jd7_WqtyxYnw||_ ||_|j}z|j|_| ds||_t |j|_|dsWdSWn t yYnw |j}zz |j}zq| tj ddst |j|_zQ|j}z&| d st|j|_| tj ddst|dsWWWWWdSttyYnw||_| dst |j|_|dsWWWWdSWn tyYnw||_tt y/Ynw||_|j|jkr=t|jd7_qtyNYnwWqtyZYnw||_ dS)NTr raFr eriroruyrar)cursorbra find_amongra_0lab0ket slice_fromlimiteq_slab1 in_groupingg_vlab4lab6lab5lab3lab2)selfv_1v_2 among_varv_3v_4v_5v_6rQ?/usr/lib/python3/dist-packages/snowballstemmer/dutch_stemmer.py __r_preludeIs               zDutchStemmer.__r_preludecCs|j|_|j|_|tjddsdS|jd7_|tjdds#dS|jd7_|j|_z |jdks7td|_Wn tyDYnw|tjddsOdS|jd7_|tjdds`dS|jd7_|j|_dS)Nr6r7FrrT) r?I_p1I_p2go_out_groupingrrCr8go_in_groupingr<rIrQrQrR__r_mark_regionss,  zDutchStemmer.__r_mark_regionscCs |j}zA|j|_|tj}|dkrt|j|_|dkr'|ds&WdSn|dkr4|ds3WdSn|j|jkr=t|jd7_WqtyNYnw||_ dS)NTr rr5Fr r2) r8r9r:ra_1r<r=r>r?)rIrJrLrQrQrR __r_postludes0    zDutchStemmer.__r_postludecC|j|jksdSdSNFT)rTr8rXrQrQrR__r_R1 zDutchStemmer.__r_R1cCr\r])rUr8rXrQrQrR__r_R2r_zDutchStemmer.__r_R2cCsj|j|j}|tjdkrdS|j||_|j|_|j|jkr"dS|jd8_|j|_|s3dSdS)Nr FrT) r?r8 find_among_bra_2r=limit_backwardr9 slice_delrIrJrQrQrR __r_undoubles   zDutchStemmer.__r_undoublecCs~d|_|j|_|dsdS|j|_|sdS|j|j}|tj dds(dS|j||_| s4dSd|_| s=dSdS)NFr1r6r7T) B_e_foundr8r=eq_s_br9_DutchStemmer__r_R1r?out_grouping_brrCrd_DutchStemmer__r_undoublererQrQrR __r_e_endings"   zDutchStemmer.__r_e_endingcCs|sdS|j|j}|tjddsdS|j||_|j|j}z |ds+tWdSty6Ynw|j||_|sCdS| sIdSdS)NFr6r7gemT) rir?r8rjrrCrhr<rdrk)rIrJrKrQrQrR __r_en_endings$     zDutchStemmer.__r_en_endingc Cs|j|j}zP|j|_|tj}|dkrt|j|_|dkr0|s't| ds/WdSn%|dkr<| s;tn|sCt| tj ddsNt| sUWdSWn ty_Ynw|j||_|j|j}||j||_|j|j}zX|j|_|dst|j|_|st|j|j}z |dstttyYnw|j||_| sWdS|j|_|d st|j|_| stWn tyYnw|j||_|j|j}z%|j|_|tj}|dkrt|j|_|dkr|st| sWdSzj|j|j}zI|j|_|d s+t|j|_|s7t|j|j}z |d sGtttySYnw|j||_| sdWWWdSttypYnw|j||_|stWntyYnw|dkr|st|j|j} z |d stttyYnw|j| |_| sWdSnK|d kr|st| sWdS|stn-|d kr|st| sWdSn|st|jst| sWdSWn tyYnw|j||_|j|j} zS| tjdds4t|j|j} |tjdkrFt| tjddsRt|j| |_|j|_|j|jkrft|jd8_|j|_| syWdSWn tyYnw|j| |_dS)Nr rheidFr r6r7crr"r1rrIT) r?r8r=rara_3r<r9rir>_DutchStemmer__r_en_endingrjg_v_jrd_DutchStemmer__r_e_endingrhrA_DutchStemmer__r_R2rHa_4rGrFrErDrklab7rgg_v_Ilab8a_5rCrc) rIrJrLrKrMrNrOrPv_7v_8v_9v_10rQrQrR__r_standard_suffixs*                                                 z DutchStemmer.__r_standard_suffixcCs`|j}|||_|j}|||_|j|_|j|_||j|_|j}|||_dS)NT)r8_DutchStemmer__r_prelude_DutchStemmer__r_mark_regionsrcr? _DutchStemmer__r_standard_suffix_DutchStemmer__r_postlude)rIrJrKrNrQrQrR_stemszDutchStemmer._stemN)__name__ __module__ __qualname____doc__rr;rZrbrrrwr{rCryrtrUrTrgrrrrirvrkrursrrrQrQrQrRrsr                              W rc@ eZdZdS)r<NrrrrQrQrQrRr< r<c@r)rANrrQrQrQrRrArrAc@r)rHNrrQrQrQrRrHrrHc@r)rGNrrQrQrQrRrGrrGc@r)rDNrrQrQrQrRrDrrDc@r)rFNrrQrQrQrRrFrrFc@r)rENrrQrQrQrRrErrEc@r)rxNrrQrQrQrRrxrrxc@r)rzNrrQrQrQrRrzrrzN) basestemmerramongrr BaseExceptionr<rArHrGrDrFrErxrzrQrQrQrRs  8