o =b@sddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ GdddeZ GdddeZ GdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZGd#d$d$eZGd%d&d&eZGd'd(d(eZGd)d*d*eZGd+d,d,eZGd-d.d.eZGd/d0d0eZGd1d2d2eZGd3d4d4eZGd5d6d6eZGd7d8d8eZGd9d:d:eZ Gd;d<dd>eZ"Gd?d@d@eZ#GdAdBdBeZ$GdCdDdDeZ%GdEdFdFeZ&GdGdHdHeZ'GdIdJdJeZ(GdKdLdLeZ)GdMdNdNeZ*GdOdPdPeZ+GdQdRdReZ,GdSdTdTeZ-GdUdVdVeZ.GdWdXdXeZ/GdYdZdZeZ0Gd[d\d\eZ1Gd]d^d^eZ2Gd_d`d`eZ3GdadbdbeZ4GdcddddeZ5GdedfdfeZ6GdgdhdheZ7GdidjdjeZ8GdkdldleZ9GdmdndneZ:GdodpdpeZ;GdqdrdreZGdwdxdxeZ?dyS)z) BaseStemmer)Amongc@steZdZdZedddedddedddedddedddeddded dded dded dded ddg Zed ddedddedddgZedddedddedddgZedddedddedddeddded ddedddgZedddedddedddeddded ddedddgZ edddedddedddeddded ddedddgZ ed ddedddedddedddeddded ddgZ edddedddedddedddeddded ddgZ ed dded ddedddgZ edddedddedddedddedddeddded ddedddgZedddedddedddedddedddeddded ddedddgZed!dded"dded#ddgZedddedddedddedddedddeddded dded dded dded ddg Zedddedddedddeddded ddedddgZeddded dded$ddgZed%dded&ddgZedddedddedddedddedddeddded ddedddgZed'dded(dded)dded*d+ded,dded-dded.dded/dded0dded1dded2dded3dded4ddg Zedddedddedddeddded ddedddgZedddedddedddeddded ddedddgZedddedddedddedddedddeddded ddedddgZedddedddedddedddedddeddded ddedddgZed/dded5ddgZed!dded6dded"dded7dded#dded8dded9dded:dded;ddedddg Zedddedddedddedddedddeddded ddedddgZed?dded@ddedAddedBddedCddedDddgZdEZdEZ dFdGZ!dHdIZ"dJdKZ#dLdMZ$dNdOZ%dPdQZ&dRdSZ'dTdUZ(dVdWZ)dXdYZ*dZd[Z+d\d]Z,d^d_Z-d`daZ.dbdcZ/ddS)e TamilStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ கuஙசuஞதuநபமயuவu ந்தu ந்த்uந்ிீைuடuறuரuலuளuழuணனuவ்ாuுuூuெuேuஅuஇஉuோuபிuவிu பட்டuபட்டணu தானuபடிதானuகுரியu படிuபற்றிu படுu விடுuபட்டுuவிட்டுuபட்டதுuெல்லாம்uகொண்டிர்uஆuஈஊஎuஏuஐஒஓuஔu கிறuகின்றuாநின்றu கிற்uகின்ற்uாநின்ற்FcCst|jdks dSdS)NFT)lencurrentselfr?/usr/lib/python3/dist-packages/snowballstemmer/tamil_stemmer.py__r_has_min_lengthszTamilStemmer.__r_has_min_lengthc CsPz|j}z<|j}|j}z |ds||_tWn ty"Ynw||_|j|_|ds2t|j|_|ds?WWdSttyJYnw||_z<|j}|j}z |dsa||_tWn tykYnw||_|j|_|ds{t |j|_|dsWWdStt yYnw||_z<|j}|j}z |ds||_t Wn t yYnw||_|j|_|dst |j|_|dsWWdStt yYnw||_|j}|j} z |ds| |_t Wn t yYnw||_|j|_|ds WdS|j|_|d sWdSWd Sty'Yd Sw) NuவோrFuவொruவுruவூrT) cursoreq_slab2bralab1ket slice_fromlab0lab4lab3lab6lab5lab7) rv_1v_2v_3v_4v_5v_6v_7v_8v_9rrr__r_fix_va_start s            zTamilStemmer.__r_fix_va_startcCs^|j}z |j}z |stWqtyYnw||_ Wn ty)Ynw||_dSNT)r_TamilStemmer__r_fix_endingr#r&rr,r-rrr__r_fix_endingsSszTamilStemmer.__r_fix_endingscCsd|j|_|ds dS|tjdkrdS|dsdS|j|_|s&dS|j}|||_dS)NrF்T) rr"r find_amongra_0r$ slice_del_TamilStemmer__r_fix_va_startrr,rrr__r_remove_question_prefixescs  z)TamilStemmer.__r_remove_question_prefixescCs t|jdks dS|j|_|j|_z|j|j}z|j|_|tjdkr)t |j|_ | s5WWdSt t y@Ynw|j||_z2|j|_| dsTt|j|j}|tjdkret|j||_|j|_ | swWWdSt tyYnw|j||_zI|j|_z+|j|j}z | dstttyYnw|j||_| dstWn tyYnw|j|_ |dsWWdSt tyYnw|j||_z|j|_| dst|j|_ |d sWWdSt tyYnw|j||_z|j|_| d st|j|_ |d s+WWdSt ty7Ynw|j||_z|j|_| d sLt|j|_ |d sZWWdSt tyfYnw|j||_zX|jsut|j|_| d st|j|j}|j|j}z | dstttyYnw|j||_|j||_|j|_ |dsWWdS|j|_ t tyYnw|j||_zN|j|_z.|j|j}z | dstttyYnw|j||_| dstWn tyYnw|j|_ |ds"WWdSt ty.Ynw|j||_z>|j|_| dsCt|tjdkrOt| dsXt|tjdkrdt|j|_ | sqWWdSt ty}Ynw|j||_z|j|_| dst |j|_ |dsWWdSt t yYnw|j||_z)|j|_| dst!|tj"dkrt!|j|_ | sWWdSt t!yYnw|j||_zf|j|_| dst#z4|j|j}z|tj$dkrt%t&t%yYnw|j||_|tj'dkr.t#Wn t&y9Ynw| dsCt#|j|_ |dsQWWdSt t#y]Ynw|j||_z |j|_|tj(dkrut)|j|_ | sWWdSt t)yYnw|j||_zO|j|_| dst*|j|j}|j|j} z|tj+dkrt,t*t,yYnw|j| |_|j||_|j|_ | sWWdSt t*yYnw|j||_zM|j|_| dst-|j|j} |j|j} z | dst.t-t.y%Ynw|j| |_|j| |_|j|_ |ds@WWdSt t-yLYnw|j||_z|j|_| dsat/|j|_ | snWWdSt t/yzYnw|j||_|j|_| dsWdS|j|j} z2|j|j} z|tj0dkrt1t2t1yYnw|j| |_| dsWWdSWn t2yYnw|j| |_|j|_ | sWdSWn t yYnw|j|_dS)NFr:uய்u ட்ப்u ட்க்ள்u ன்ற்ல்u ற்க்u ட்ட்uடுu த்த்ruம்u ுக்uுக்க்r;uனுuங்T)3rrrlimit_backwardlimitr$ find_among_bra_1r#r"r>r&eq_s_br!a_2r*r'r(r%r)r+lab8B_found_vetrumai_urupulab9lab10lab13lab12lab11lab14a_3a_4lab15lab16a_5lab17a_6lab19lab18a_7a_8lab20lab21a_9lab22lab23lab24lab25a_10lab27lab26)rr,r-r.r/r0r1r2r3r4v_10v_11v_12v_13rrr__r_fix_endingts                                                                              zTamilStemmer.__r_fix_endingcCsvd|_|j|_|tjdkrdS|tjdkrdS|ds"dS|j|_| s,dSd|_|j}| ||_dSNFr:r;T) B_found_a_matchrr"r<ra_11a_12r r$r>r?r@rrr__r_remove_pronoun_prefixess  z(TamilStemmer.__r_remove_pronoun_prefixescCsd|_|j|_|j|_z|j|j}zL|j|_|dst|j|j}|j|j}z|tj dkr7t tt yBYnw|j||_|j||_|j|_ | ds\WWdSt tygYnw|j||_z|j|_|ds{t|j|_ | dsWWdSt tyYnw|j||_z|j|_|dst|j|_ | dsWWdSt tyYnw|j||_|j|_|d sWdS|j|_ |sWdSWn t yYnwd |_|j|_d S) NFuுங்கள்r:r;uற்கள்rDuட்கள்rCu கள்T)rnrrErFr$rIr#rGra_13r!r"r%r&r(r'r>)rr,r-r.rrr__r_remove_plural_suffixsn               z%TamilStemmer.__r_remove_plural_suffixcCs|sdSd|_|j|_|j|_|j|j}z |j|_|tjdkr't |j|_ | ds3WdSd|_Wn t y@Ynw|j||_|j|_| dSrm) _TamilStemmer__r_has_min_lengthrnrrErFr$rGra_14r&r"r%_TamilStemmer__r_fix_endingsr@rrr__r_remove_question_suffixess&    z)TamilStemmer.__r_remove_question_suffixescCsd|sdSd|_|j|_|j|_|j|_|tjdkrdS|j|_ | s)dSd|_|j|_dS)NFr:T) rtrnrrErFr$rGra_15r"r>rrrr__r_remove_command_suffixessz(TamilStemmer.__r_remove_command_suffixescCstd|_|s dS|j|_|j|_|j|_|dsdS|j|_|ds'dSd|_|j|_|j}| ||_dS)NFu ும்r;T) rnrtrrErFr$rIr"r%r7r@rrr __r_remove_ums"  zTamilStemmer.__r_remove_umcCsd|_|s dS|j|_|j|_z!|j|j}z|j|j}|j|_z|j|j}z |ds6tttyAYnw|j||_z |dsQt tt y\Ynw|j||_z |dslt tt ywYnw|j||_z |dst tt yYnw|j||_z |dst tt yYnw|j||_z |dst tt yYnw|j||_z |dstttyYnw|j||_z |d stttyYnw|j||_z |d stttyYnw|j||_z |d s,ttty8Ynw|j||_z |d sItttyUYnw|j||_z>|d sft|j|j}|j|j}z|tjdkrtttyYnw|j||_|j||_ttyYnw|j||_z |dstttyYnw|j||_|dstWn tyYnw|j|_|dsWWdSd|_|j||_ttyYnw|j||_|j|j}|j|_|tjdkrWdS|j|_|s)WdSd|_|j||_Wn ty=Ynw|j|_|dS)NFu ுடன்uில்லை ிடம்uின்றிu ாகிu ாகியuென்றுu ுள்ளu ுடைய ுடைuெனும்u ல்லr:uெனr;T) rnrtrrErFr$rIr(r!r'r*r)r+rKrMrNrQrPrOrRrGra_16rUrVr#r"r%r&a_17r>rv)rr,r-r.r/r0r1rrr__r_remove_common_word_endingss                                       z+TamilStemmer.__r_remove_common_word_endingscCs d|_d|_|s dS|j|_|j|_z|j|j}z'|j|j}|j|_|ds/t|j|_ | s;WWdS|j||_t tyLYnw|j||_z|j|j}|j|_z|j|j}zhz+|j|j}z |dsvt t t yYnw|j||_|dstWn t yYnw|j|j}|j|j}z|tjdkrtttyYnw|j||_|j||_ttyYnw|j||_|dst|j|j}|tjdkrt|dst|j||_Wn tyYnw|j|_ |dsWWdS|j||_t ty0Ynw|j||_z#|j|j} |j|_z|j|j} z |dsUtttyaYnw|j| |_z |dsrttty~Ynw|j| |_z |d stttyYnw|j| |_z |d stttyYnw|j| |_z;|d st|j|j} |j|j} z |d stttyYnw|j| |_|j| |_ttyYnw|j| |_z |d sttty!Ynw|j| |_z |ds2ttty>Ynw|j| |_z |dsOt tt y[Ynw|j| |_zt!|j"dksnt#|dswt#tt#yYnw|j| |_z |dst$tt$yYnw|j| |_z |dst%tt%yYnw|j| |_z |dst&tt&yYnw|j| |_z>|dst'|j|j} |j|j}z|tj(dkrt)t't)yYnw|j||_|j| |_tt'y)Ynw|j| |_|ds9t*Wn tyDYnw|j|_ |dsSWWdS|j| |_t t*yeYnw|j||_z|j|j}|j|_z|j|j}z |dst+t,t+yYnw|j||_z |dst-t,t-yYnw|j||_z |dst.t,t.yYnw|j||_z |dst/t,t/yYnw|j||_z |dst0t,t0y Ynw|j||_z |dst1t,t1y&Ynw|j||_|ds6t2|j|j}|j|j}z|tj3dkrOt4t2t4y[Ynw|j||_|j||_Wn t,ysYnw|j|_ | sWWdS|j||_t t2yYnw|j||_|j|j}|j|_|dsWdS|j|_ |dsWdS|j||_Wn t yYnwd |_d |_|j|j}z|j|_|d st5|j|_ |dsWdSWn t5yYnw|j||_|j|_|6d S)!NFனைu ினைrr:r;u ொடுu ோடுu ில்u ிற்u ின்r uின்றுuிருந்துu விடr{u ால்r|u ாமல்rDu ுள்u கண்u முன்u மேல்u மேற்u கீழ்u பின்துr r T)7rnrLrtrrErFr$rIr#r"r>r&r)r*r'rGra_18r+r(r!a_19r%rNrMrQrPrOrRrUrVrXr[rrrZr^r_rarba_20rcrKrfrglab28lab29lab30lab31lab32rda_21lab33lab34rv)rr,r-r.r/r0r1r2r3r4rhrirjrkv_14v_15v_16v_17v_18v_19v_20rrr__r_remove_vetrumai_urupukals                                                                                           z)TamilStemmer.__r_remove_vetrumai_urupukalcCsRd|_ |j}z|jst|j}|||_Wqty"Ynw||_ dSr6)rnrr&$_TamilStemmer__r_remove_tense_suffixr8rrr__r_remove_tense_suffixessz&TamilStemmer.__r_remove_tense_suffixescCsd|_|s dS|j|_|j|_|j|j}z z|j|j}z.|j|j}|j|_|tjdkr7t |j|_ | sDWWWdSd|_|j||_t t yXYnw|j||_z|j|j}|j|_z|j|j}z | ds|tttyYnw|j||_z | dstttyYnw|j||_z | dstttyYnw|j||_z | dstttyYnw|j||_z | dstttyYnw|j||_z | d stttyYnw|j||_z>| d s!t|j|j}|j|j}z|tjdkr:tttyFYnw|j||_|j||_tty_Ynw|j||_z | d spttty|Ynw|j||_z | d stttyYnw|j||_z | d stttyYnw|j||_z | dstttyYnw|j||_z | dstttyYnw|j||_z | dsttty Ynw|j||_z | dsttty*Ynw|j||_z | ds;tttyGYnw|j||_z | dsXt tt ydYnw|j||_z | dsut!tt!yYnw|j||_z | dst"tt"yYnw|j||_z | dst#tt#yYnw|j||_z>| dst$|j|j}|j|j} z|tj%dkrt&t$t&yYnw|j| |_|j||_tt$y Ynw|j||_z | dst'tt'y'Ynw|j||_z | ds8t(tt(yDYnw|j||_z | dsUt)tt)yaYnw|j||_z | dsrt*tt*y~Ynw|j||_z | dst+tt+yYnw|j||_z | dst,tt,yYnw|j||_z | dst-tt-yYnw|j||_z | dst.tt.yYnw|j||_| d st/Wn ty Ynw|j|_ | sWWWdSd|_|j||_t t/y1Ynw|j||_z^|j|j} |j|_z-|j|j} z;| d!sVt0|j|j} |j|j} z | d"slt1t0t1yxYnw|j| |_|j| |_t2t0yYnw|j| |_z | d#st3t2t3yYnw|j| |_z | d$st4t2t4yYnw|j| |_z | d%st5t2t5yYnw|j| |_z | d&st6t2t6yYnw|j| |_z | d'st7t2t7y"Ynw|j| |_z | d(s3t8t2t8y?Ynw|j| |_z | d)sPt9t2t9y\Ynw|j| |_z | d*smt:t2t:yyYnw|j| |_z | dst;t2t;yYnw|j| |_z | dst<t2t<yYnw|j| |_z | d+st=t2t=yYnw|j| |_z | dst>t2t>yYnw|j| |_z | d,st?t2t?y Ynw|j| |_z | dst@t2t@y'Ynw|j| |_z | d-s8tAt2tAyDYnw|j| |_z | d.sUtBt2tByaYnw|j| |_| d/sqtCWn t2y|Ynw|j|_ |Dd0sWWWdSd|_|j| |_t tCyYnw|j||_|j|j}|j|_z.|j|j}z | d1stEtFtEyYnw|j||_| dstGWn tFyYnw|j|j}| d0stG|j||_|j|_ | s WWdSd|_|j||_Wn t y!YnwWn tGy-Ynw|j||_|j|j}z!|j|_|tjHdkrKtI|j|_ | sWWdSd|_Wn tIyeYnw|j||_|j|_|JdS)2NFr:Tu மார்u மின்u னன்u னான்u னாள்u னார்u வன்u னள்u வள்u னர்u வர்rr rrr u பன்u பள்u பர்ruிற்றுu பம்u னம்u தும்u றும்u கும்u னென்ruவைu ான்ru ாள்u ார்u ேன்ru ாம்u ெம்u ேம்u ோம்u டும்u ாய்u னிர்u ீர்u ீயர்r;uகு)KrnrtrrErFr$rGra_22r!r"r>r#rIr*r'r)r+rKrMrNrQa_23rPrOrRrUrVrXr[rZr^r_rarbrcrda_24rgrfrrrrrrrr(lab37lab38lab36lab39lab40lab41lab42lab43lab44lab45lab46lab47lab48lab49lab50lab51lab52lab53lab54lab35r%lab56lab55r&a_25lab57rv)rr,r-r.r/r0r1r2r3r4rhrirjrkrrrrrrr__r_remove_tense_suffixs                                                                                                                                         z$TamilStemmer.__r_remove_tense_suffixc Csd|_|j}|||_|sdS|j}|||_|j}|||_|j}|||_|j}|||_|j}|||_|j}| ||_|j}| ||_|j} | | |_|j} | | |_dS)NFT) rLrr7rt)_TamilStemmer__r_remove_question_prefixes(_TamilStemmer__r_remove_pronoun_prefixes)_TamilStemmer__r_remove_question_suffixes_TamilStemmer__r_remove_um+_TamilStemmer__r_remove_common_word_endings)_TamilStemmer__r_remove_vetrumai_urupukal%_TamilStemmer__r_remove_plural_suffix(_TamilStemmer__r_remove_command_suffixes&_TamilStemmer__r_remove_tense_suffixes) rr,r-r.r/r0r1r2r3r4rhrrr_stem,sDzTamilStemmer._stemN)0__name__ __module__ __qualname____doc__rr=rHrJrSrTrWrYr\r]r`rerorprrrurxr}r~rrrrrrrrrLrnrtr?rvrr7rrrrrrrrrrrrrrrs                                                                                                                                                         J9~  rc@ eZdZdS)r&Nrrrrrrrr&Q r&c@r)r#Nrrrrrr#Trr#c@r)r!Nrrrrrr!Wrr!c@r)r(Nrrrrrr(Zrr(c@r)r'Nrrrrrr']rr'c@r)r*Nrrrrrr*`rr*c@r)r)Nrrrrrr)crr)c@r)r+Nrrrrrr+frr+c@r)rKNrrrrrrKirrKc@r)rMNrrrrrrMlrrMc@r)rNNrrrrrrNorrNc@r)rQNrrrrrrQrrrQc@r)rPNrrrrrrPurrPc@r)rONrrrrrrOxrrOc@r)rRNrrrrrrR{rrRc@r)rUNrrrrrrU~rrUc@r)rVNrrrrrrVrrVc@r)rXNrrrrrrXrrXc@r)r[Nrrrrrr[rr[c@r)rZNrrrrrrZrrZc@r)r^Nrrrrrr^rr^c@r)r_Nrrrrrr_rr_c@r)raNrrrrrrarrac@r)rbNrrrrrrbrrbc@r)rcNrrrrrrcrrcc@r)rdNrrrrrrdrrdc@r)rgNrrrrrrgrrgc@r)rfNrrrrrrfrrfc@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)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)rNrrrrrrrrc@r)rNrrrrrrrrN)@ basestemmerramongrr BaseExceptionr&r#r!r(r'r*r)r+rKrMrNrQrPrOrRrUrVrXr[rZr^r_rarbrcrdrgrfrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs  V