o =b$Q@sddlmZddlmZGdddeZGdddeZGdddeZGd d d eZGd d d eZ Gd ddeZ GdddeZ GdddeZ GdddeZ dS)) BaseStemmer)Amongc @sj eZdZdZedddedddeddd gZeddded dded dd gZed dded ddedddedddgZedddedddedddgZed ddedddedddgZ gedddedddedddeddd edddedddedddedddeddded dded!dd"eddded#dd$ed%d&d'ed(ddeddded)dded*dded+dded,dded-dded.dded/dded0dded1dded2dded3dded4dd ed5dded6dded7dded8dded9dded:dded;dd"eddded?dded@ddedAddedBddedCddedDddedEddZ gedFddedGddedHddedId dedJd dedKd dedLddedMddedddedNddedOddedPddedQddedRddedSddedTddedUddedVdWdedXdWdedYdWdedZdded[d\ded]d^ded_d^ded`d^dedad\dedbd\dedcd\deddd\dededdedfdgdedhdgdedidgdedjdgdedkdgdedldgdedmddednddedoddedpddedqddedrddedsddedtddeduddedvddedwddedxddedydzded{dzded|dzded}d~dedd~dedd~deddzdeddzded5dzdeddzdedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddZ edddedddedddedddedddedddedddgZ edddeddd edddedddgZ gdӢZdZdZdZddՄZddׄZddلZddۄZdd݄Zdd߄ZddZddZddZddZddZdS)PortugueseStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ ãrõa~o~icadosivanteaveluívelabilicauânciauêncialogiaira adoraosaistaivaezaidadementeamente uávelicoismoosoamentoimentoivouaça~ouuça~oadoricasuênciaslogiasirasadorasosasistasivasezasidadesadoresantesuaço~esuuço~esicosismosososamentosimentosivosadaidaiaariaeriairiaaraeraavaasseesseisseasteesteisteeiareiereiireiamiamariameriamiriamarameramiramavamemaremeremiremassemessemissemadoidoandoendoindozara~ozera~ozira~oarerirasadas/idasiasarias2eriasiriasaraserasavasesardes:erdesirdesareseresiresassesessesissesastesestesistesisaisGeisareisIereisireisuáreisuéreisuíreisuásseisuésseisuísseisuáveisuíeisuaríeisTueríeisuiríeisadosidosamosuáramosZuéramosuíramosuávamosuíamosuaríamos_ueríamosuiríamosemosaremosceremosiremosuássemosuêssemosuíssemosimosarmosermosirmosuámosuarásuerásuiráseuiuouuaráueráuiráaioáíóeçéê)ArPr r r r r r r r r r r r r rr%r cC |j}zA|j|_|tj}|dkrt|j|_|dkr'|ds&WdSn|dkr4|ds3WdSn|j|jkr=t|jd7_WqtyNYnw||_ dS)NTr rr Fr r ) cursorbra find_amongra_0lab0ket slice_fromlimitselfv_1 among_varrD/usr/lib/python3/dist-packages/snowballstemmer/portuguese_stemmer.py __r_prelude0    zPortugueseStemmer.__r_preludecCs|j|_|j|_|j|_|j}zz|j}zh|tjdds tzQ|j}z | tjdds0t | tjdds;t |jd7_t t yMYnw||_|tjdds\t| tjddsgt|jd7_Wtt y|YtwtyYnw||_| tjddstzM|j}z | tjddst| tjddst|jd7_ttyYnw||_|tjddst|j|jkrt|jd7_Wn tyYnwWn tyYnw|j|_Wn tyYnw||_|j}zV| tjddst|jd7_| tjdds,t|jd7_|j|_| tjddsCt|jd7_| tjddsVt|jd7_|j|_Wn tylYnw||_dS)NarT)rI_pVI_p1I_p2r in_groupingrg_vlab2 out_groupinglab4go_out_groupinglab3go_in_groupinglab1rlab6lab5lab7)rrv_2v_3v_4v_5rrr__r_mark_regionss   z"PortugueseStemmer.__r_mark_regionscCr)NTr rrFr r ) rrrra_1rrrrrrrr __r_postludeQrzPortugueseStemmer.__r_postludecC|j|jksdSdSNFT)rrrrrr__r_RVj zPortugueseStemmer.__r_RVcCrr)rrrrrr__r_R1orzPortugueseStemmer.__r_R1cCrr)rrrrrr__r_R2trzPortugueseStemmer.__r_R2cCs|j|_|tj}|dkrdS|j|_|dkr&|sdS|s$dSdS|dkr9|s0dS|ds7dSdS|dkrL|sCdS|dsJdSdS|dkr_|sVdS|d s]dSdS|d kr| sidS|sodS|j |j}zc|j|_|tj }|dkr|j ||_t |j|_|s|j ||_t |sWdS|dkr|j|_| d s|j ||_t |j|_|s|j ||_t |sWdSWdSWdSt yYdSw|d kr9|sdS|sdS|j |j}z3|j|_|tjdkr|j ||_t|j|_|s#|j ||_t|s+WdSWdSty8YdSw|d kr|sEdS|sLdS|j |j}z3|j|_|tjdkri|j ||_t|j|_|s{|j ||_t|sWdSWdStyYdSw|dkr|sdS|sdS|j |j}z0|j|_| d s|j ||_t|j|_|s|j ||_t|sWdSWdStyYdSw|sdS| dsdS|dsdSdS)Nr Frr logrurenter&atr#r!rrrmT)rr find_among_bra_5r_PortugueseStemmer__r_R2 slice_delr_PortugueseStemmer__r_R1ra_2req_s_ba_3ra_4rr_PortugueseStemmer__r_RV)rrrrrrrrr__r_standard_suffixys u o j e       PGD      30                     z%PortugueseStemmer.__r_standard_suffixcCs^|j|jkrdS|j}|j|_|j|_|tjdkr ||_dS|j|_|s*dS||_dS)NFr T) rrlimit_backwardrrra_6rr)rrrrr__r_verb_suffixs z!PortugueseStemmer.__r_verb_suffixcCs@|j|_|tjdkrdS|j|_|sdS|sdSdS)Nr FT)rrrra_7rrrrrrr__r_residual_suffix sz%PortugueseStemmer.__r_residual_suffixcCsH|j|_|tj}|dkrdS|j|_|dkr|sdS|s$dS|j|_z[|j|j}z#| ds8t |j|_|j|j}| dsJt |j||_t t y[Ynw|j||_| dsjWdS|j|_|j|j}| ds|WdS|j||_Wn t yYnw|sdS|sdSdS| dsdSdS) Nr FrrgrcT) rrrra_8rrrrrrrr)rrrrrrrr__r_residual_formsP           z#PortugueseStemmer.__r_residual_formc Cs |j}|||_||j|_|j|_|j|j}zz|j|j}z|j|j}z)|j|j}z |s:tttyEYnw|j||_|sSt Wn ty]Ynw|j||_|j|j}z7|j|_ | dswt |j|_ |j|j}| dst |j||_|st |sWWWWdSWn t yYnw|j||_tt yYnw|j||_|stWn tyYnwWn tyYnw|j||_|j|j}||j||_|j|_|j} || |_dS)NrrFT)r_PortugueseStemmer__r_prelude"_PortugueseStemmer__r_mark_regionsrr%_PortugueseStemmer__r_standard_suffixrr!_PortugueseStemmer__r_verb_suffixrrrrrrrr%_PortugueseStemmer__r_residual_suffixr#_PortugueseStemmer__r_residual_form_PortugueseStemmer__r_postlude) rrrrrv_6v_7v_8v_9v_10rrr_stemBsx                 zPortugueseStemmer._stemN)__name__ __module__ __qualname____doc__rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs                                                 ! " # $ % & ' ( ) * + , -0                                 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x |         J ,rc@ eZdZdS)rNrrrrrrrr~ rc@r)rNr rrrrrr rc@r)rNr rrrrrr rc@r)rNr rrrrrr rc@r)rNr rrrrrr rc@r)rNr rrrrrr rc@r)rNr rrrrrr rc@r)rNr rrrrrr rN) basestemmerramongrr BaseExceptionrrrrrrrrrrrrs  {