o =bO@s,ddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ GdddeZ GdddeZ GdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZGd#d$d$eZd%S)&) BaseStemmer)Amongc @sTeZdZdZedddedddedddgZedddedd d ed d d edd dedd d edd dedd dgZedddedddeddd eddd edddeddd gZedddeddd edddgZgeddd edddeddd ed dded!dded"dd ed#dd ed$dd%ed&dd ed'dd(ed)dd(ed*dd ed+dded,dd ed-dded.dd ed/dded0dd ed1dded2dded3dd ed4dd ed5dd%ed6dd ed7dd(ed8dd(ed9dd ed:dded;dd eded?d@d edAdBdCedDddedEdd>edFdGd edHdIdCedJdGdKedLdGdMedNddOedPdQdRedSdd edTddZ gedUdd edVdd edWdd edXdd edYdd edZd d ed[dd ed\dd ed]dd ed^dd ed_dd ed`dd edadd edbdd edcdKd edddKd ededd edfdd edgdd edhdd edidd edjdd edkdld edmdld edndd edodd edpdd edqdd edrdd edsdd edtdd edudd edvdd edwdd edxdd Z gedyddedzd ded{dded|dded}dded~ddedddedddedddedd(dedddedddedddedddedddedddedd>deddd edddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddZ edddedd dedd deddd edddedddgZ edddedddedddedddedddgZ gdZgdZd Zd Zd ZddZddZddZddZddZddZddZddZdd„ZddĄZddƄZddȄZddʄZdS) FrenchStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ colpartapHHerHiIUYiqUabluIèruièreusivicabiliqUeatriceanceencelogieableismeeuse isteiveifusionationutionateuriqUesatricesancesenceslogiesablesismeseusesistesivesifsusionsationsutionsateursmentsements issements uitésmentement"issement#amment emmentaux eaux' euxuitéiraieisseissanteiiraiirirasiesuîmesissesissantesuîtesisiraisissaisirionsissionsironsissonsissantsitiraitissaitissantiraIentissaIentirentissentirontuîtiriezissiezirezissezaeraasseanteuéeaieraieraserasuâmesassesantesuâtesuéesaiseraisionserionsassionseronsantsuésaiteraitantaIenteraIentuèrentassenterontuâteziez eriez!assiezerezéeuIèreuièreionIerierelleillennonnett)rArr r r r r r r r r r r gr(r)rrr r r r r r r r r r r r r rcCs |j}zz |j}zzr|j}z|tjddst|j|_z|j}z(|ds0t|j|_|tjdds?t| dsMWWWWWWWdSt tyXYnw||_z(|dset |j|_|tjddstt | dsWWWWWWWdSt t yYnw||_|d st|j|_| d sWWWWWWdSWt t yYt wtyYnw||_z|j|_|d st |j|_| d sWWWWWdSt t yYnw||_z |j|_|d st|j|_| dsWWWWWdSt tyYnw||_z-|j|_|d s-t|j|_|tjdds=t| d sJWWWWWdSt tyVYnw||_|dsct|j|_|dspt|j|_| dsWWWWdSWn t yYnw||_ttyYnw||_|j|jkrt|jd7_q tyYnwWqtyYnw||_ dS)NTaurFrWryrërïrqr)cursor in_groupingrg_vlab4braeq_slab6ket slice_fromlab5lab7lab3lab8lab9lab10lab2lab1limitlab0)selfv_1v_2v_3v_4r@/usr/lib/python3/dist-packages/snowballstemmer/french_stemmer.py __r_preludes                ZzFrenchStemmer.__r_preludecCs|j|_|j|_|j|_|j}zzx|j}z)|tjdds t|tjdds+t|j|jkr4t|jd7_t tyFYnw||_z| tj dkrVt t t yaYnw||_|j|jkrnt |jd7_|tjddst |jd7_Wn t yYnw|j|_Wn t yYnw||_|j}zR|tjddst|jd7_|tjddst|jd7_|j|_|tjddst|jd7_|tjddst|jd7_|j|_Wn tyYnw||_dS)Nrrrr T)rI_pVI_p1I_p2rrrrrr find_amonga_0rrgo_out_groupingrgo_in_grouping)rrrrrrr__r_mark_regions(sj    zFrenchStemmer.__r_mark_regionscCs |j}zt|j|_|tj}|dkrt|j|_|dkr'|ds&WdSnP|dkr4|ds3WdSnC|dkrA|d s@WdSn6|d krN|d sMWdSn)|d kr[|d sZWdSn|dkrg|sfWdSn|j|j krpt|jd7_WqtyYnw||_ dS)NTr rrWFrrrrrrrrr ) rrrra_1rrr slice_delr)rr among_varrrr __r_postlude_sP       zFrenchStemmer.__r_postludecC|j|jksdSdSNFT)rrrrrr__r_RV zFrenchStemmer.__r_RVcCrr)rrrrrr__r_R1rzFrenchStemmer.__r_R1cCrr)rrrrrr__r_R2rzFrenchStemmer.__r_R2c Cs |j|_|tj}|dkrdS|j|_|dkr&|sdS|s$dSdS|dkr|s0dS|s6dS|j|j}zZ|j|_| dsO|j||_t |j|_z4|j|j}z|sbt |skWWWdSt t yvYnw|j||_| dsWWdSWn t yYnwWdSWdSt yYdSw|dkr|sdS| dsdSdS|d kr|sdS| d sdSdS|d kr|sdS| d sdSdS|d kr|sdS|sdS|j|j}z|j|_|tj}|dkr |j||_t|j|_|dkrW|s!|j||_t|s)WdS|j|_| ds<|j||_t|j|_|sN|j||_t|sVWdSn|dkrzF|j|j}z|slt|svWWWdSttyYnw|j||_|s|j||_t| dsWWdSWn@tyYn:w|dkr|s|j||_t|sWdSn |s|j||_t| dsWdSWdSWdSWdSWdSWdStyYdSw|dkr|sdS|s dS|j|j}z|j|_|tj}|dkr,|j||_t|j|_|dkrxz8|j|j}z|sEt|sOWWWdStty[Ynw|j||_| dslWWdSWnhtywYnbw|dkrz8|j|j}z|st|sWWWdSttyYnw|j||_| dsWWdSWn&tyYn w|s|j||_t|sWdSWdSWdSWdSWdSWdStyYdSw|dkr|sdS|sdS|j|j} z|j|_| ds|j| |_t|j|_|s/|j| |_t|s7WdS|j|_| dsJ|j| |_t|j|_z8|j|j} z|s^t|shWWWdSttytYnw|j| |_| dsWWdSWn tyYnwWdSWdStyYdSw|dkr| dsdSdS|dkr|sdS| dsdSdS|dkrz?|j|j} z|st|sWWdSttyYnw|j| |_|sWdS| ds WdSWdStyYdSw|dkr7|s#dS|tj dds.dS|s5dSdS|dkrM|sCdS| dsKdSdS|dkrc|sYdS| d sadSdS|j|j} |!tj ddstdS|s{dS|j| |_|sdSdS) Nr Frrrrrlogrrrentr atrRrWr rr(rQeaurNalr%rCrrrJrrLT)"rr find_among_bra_4r_FrenchStemmer__r_R2rreq_s_brrrr_FrenchStemmer__r_RVa_2rrr_FrenchStemmer__r_R1a_3rrrrrlab11lab13lab12lab15lab14out_grouping_br in_grouping_b) rrrrrrv_5v_6v_7v_8v_9v_10v_11rrr__r_standard_suffixs        ged _ Z U                              7%#                        ywjhc`                 <:9  6  1       "             z!FrenchStemmer.__r_standard_suffixcCs|j|jkrdS|j}|j|_|j|_|tjdkr ||_dS|j|_|j|j}z| ds3t ||_WdSt yAYnw|j||_| tj ddsU||_dS| s[dS||_dS)NFr r rrT)rrlimit_backwardrrra_5rrrrrrr)rrrrrr__r_i_verb_suffixs0    zFrenchStemmer.__r_i_verb_suffixcCs|j|jkrdS|j}|j|_|j|_|tj}|dkr"||_dS|j|_|dkr:|s3||_dS| s9dSn@|dkrE| sDdSn5| sKdS|j |j}z|j|_| dsd|j ||_t |j|_| soWdSWn t yyYnw||_dS)NFr rrrT) rrrrrra_6rrrrrr)rrrrrrr__r_verb_suffixsH     zFrenchStemmer.__r_verb_suffixcCs|j|j}zi|j|_|ds|j||_t|j|_|j|j}z4|j|j}z |ds3ttty>Ynw|j||_|t j ddsV|j||_tWn ty`Ynw|j||_| snWdSWn tyxYnw|j|j krdS|j }|j |_ |j|_|t j}|dkr||_ dS|j|_|dkr|s||_ dSz.|j|j}z |dstttyYnw|j||_|ds||_ WdSWn tyYnw| sdSn|d kr|d sdSn| sdS||_ d S) NsrrFr rtrrWT)rrrrrrrrrr g_keep_with_srrrra_7rrrr)rrrrrrrrrr__r_residual_suffixs                z!FrenchStemmer.__r_residual_suffixcCsj|j|j}|tjdkrdS|j||_|j|_|j|jkr"dS|jd8_|j|_|s3dSdS)Nr FrT) rrrra_8rrrr)rrrrr __r_un_double$s   zFrenchStemmer.__r_un_doublecCsd} z|tjddst|d8}WqtyYnw |dkr%dS|j|_z+|j|j}z |ds9tt tyDYnw|j||_|dsSWdSWn t y]Ynw|j|_ | d sidSdS) NrTrrr Frèr) rrrrrrrrrrrr)rrrrrr __r_un_accent3s8     zFrenchStemmer.__r_un_accentc Cs|j}|||_||j|_|j|_|j|j}zz|j|j}z|j|j}zC|j|j}z |s:tttyEYnw|j||_z |sTt tt y_Ynw|j||_| smt Wn tywYnw|j||_|j|j}zf|j|_ zU|j|j}z| dst|j|_|dsWWWWWWdSttyYnw|j||_| ds|j||_t|j|_|dsWWWWWdSWWttyYWtwtyYtwt yYnw|j||_|s tWn tyYnwWn ty$Ynw|j||_|j|j}||j||_|j|j} ||j| |_|j|_|j} || |_dS)NrrWFçcT)r_FrenchStemmer__r_prelude_FrenchStemmer__r_mark_regionsrr!_FrenchStemmer__r_standard_suffixrr_FrenchStemmer__r_i_verb_suffixr_FrenchStemmer__r_verb_suffixrrrrrrrrr!_FrenchStemmer__r_residual_suffixr_FrenchStemmer__r_un_double_FrenchStemmer__r_un_accent_FrenchStemmer__r_postlude) rrrrrrrrrrrrrr_stemPs                      zFrenchStemmer._stemN) __name__ __module__ __qualname____doc__rrrrrrrrrrrrrrrr r rrrrr r r rrrrrrrrrsJ                                                  ! " # $ % & ' ( ) * +.                                 ! " #&                                 ! " # $ % & *         f7&(A rc@ eZdZdS)rNrrrrrrrr rc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrc@r)rNrrrrrrrrN) basestemmerramongrr BaseExceptionrrrrrrrrrrrrrrrrrrrrs4