
ed]c           @   s   d  d l  m Z d  d l m Z d e f d     YZ d e f d     YZ d e f d     YZ d	 e f d
     YZ d e f d     YZ	 d e f d     YZ
 d e f d     YZ d e f d     YZ d e f d     YZ d S(   i   (   t   BaseStemmer(   t   Amongt   PortugueseStemmerc        {   B   s;  e  Z d  Z e d d d  e d d d  e d d d  g Z e d d d  e d	 d d  e d
 d d  g Z e d d d  e d d d  e d d d  e d d d  g Z e d d d  e d d d  e d d d  g Z e d d d  e d d d  e d d d  g Z e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d  d d!  e d d d  e d" d d#  e d$ d% d&  e d' d d  e d d d  e d( d d  e d) d d  e d* d d  e d+ d d  e d, d d  e d- d d  e d. d d  e d/ d d  e d0 d d  e d1 d d  e d2 d d  e d3 d d  e d4 d d  e d5 d d  e d6 d d  e d7 d d  e d8 d d  e d9 d d  e d: d d!  e d; d d  e d< d d  e d= d d  e d> d d  e d? d d  e d@ d d  e dA d d  e dB d d  e dC d d  e dD d d  g- Z	 e dE d d  e dF d d  e dG d d  e dH d d  e dI d d  e dJ d d  e dK d d  e dL d d  e d d d  e dM d d  e dN d d  e dO d d  e dP d d  e dQ d d  e dR d d  e dS d d  e dT d d  e dU dV d  e dW dV d  e dX dV d  e dY d d  e dZ d[ d  e d\ d] d  e d^ d] d  e d_ d] d  e d` d[ d  e da d[ d  e db d[ d  e dc d[ d  e dd d d  e de df d  e dg df d  e dh df d  e di df d  e dj df d  e dk df d  e dl d d  e dm d d  e dn d d  e do d d  e dp d d  e dq d d  e dr d d  e ds d d  e dt d d  e du d d  e dv d d  e dw d d  e dx dy d  e dz dy d  e d{ dy d  e d| d} d  e d~ d} d  e d d} d  e d dy d  e d dy d  e d4 dy d  e d dy d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  gx Z
 e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  g Z e d d d  e d d d  e d d d  e d d d  g Z d d dV d d d d d d d d d d d d d d d d% d g Z d Z d Z d Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u    ii   u   ãi    i   u   õi   u   a~u   o~u   icu   adu   osu   ivu   anteu   avelu   ívelu   abilu   icau   ânciau   ênciai   u   logiau   irai	   u   adorau   osau   istau   ivai   u   ezau   idadei   u   mentei   u   amentei   i   u   ávelu   icou   ismou   osou   amentou   imentou   ivou   aça~ou   uça~ou   adoru   icasu   ênciasu   logiasu   irasu   adorasu   osasu   istasu   ivasu   ezasu   idadesu   adoresu   antesu   aço~esu   uço~esu   icosu   ismosu   ososu   amentosu   imentosu   ivosu   adau   idau   iau   ariau   eriau   iriau   arau   erau   avau   asseu   esseu   isseu   asteu   esteu   isteu   eiu   areii   u   ereiu   ireiu   amu   iami   u   ariami   u   eriamu   iriamu   aramu   eramu   iramu   avamu   emu   aremi   u   eremu   iremu   assemu   essemu   issemu   adou   idou   andou   endou   indou   ara~ou   era~ou   ira~ou   aru   eru   iru   asu   adasi/   u   idasu   iasu   ariasi2   u   eriasu   iriasu   arasu   erasu   avasu   esu   ardesi:   u   erdesu   irdesu   aresu   eresu   iresu   assesu   essesu   issesu   astesu   estesu   istesu   isu   aisiG   u   eisu   areisiI   u   ereisu   ireisu   áreisu   éreisu   íreisu   ásseisu   ésseisu   ísseisu   áveisu   íeisu   aríeisiT   u   eríeisu   iríeisu   adosu   idosu   amosu   áramosiZ   u   éramosu   íramosu   ávamosu   íamosu   aríamosi_   u   eríamosu   iríamosu   emosu   aremosic   u   eremosu   iremosu   ássemosu   êssemosu   íssemosu   imosu   armosu   ermosu   irmosu   ámosu   arásu   erásu   irásu   euu   iuu   ouu   aráu   eráu   iráu   au   iu   ou   áu   íu   óu   eu   çu   éu   êi   iA   i   c         C   s  x t  r |  j } y |  j |  _ |  j t j  } | d k rK t    n  |  j |  _ | d k ry |  j d  s t	 Sn^ | d k r |  j d  s t	 Sn< | d k r |  j |  j
 k r t    n  |  j d 7_ n  w Wn t k
 r n X| |  _ Pq Wt  S(   Ni    i   u   a~i   u   o~i   (   t   Truet   cursort   brat
   find_amongR   t   a_0t   lab0t   kett
   slice_fromt   Falset   limit(   t   selft   v_1t	   among_var(    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_prelude   s0    		 	c         C   s  |  j  |  _ |  j  |  _ |  j  |  _ |  j } yyk|  j } y*|  j t j d d  sc t    n  y |  j } yd |  j	 t j d d  s t
    n  |  j t j d d  s t
    n  |  j d 7_ t    Wn t
 k
 r n X| |  _ |  j t j d d  st    n  |  j t j d d  s8t    n  |  j d 7_ Wn t k
 r[n Xt    Wn t k
 ryn X| |  _ |  j	 t j d d  st    n  y |  j } yd |  j	 t j d d  st    n  |  j t j d d  st    n  |  j d 7_ t    Wn t k
 r*n X| |  _ |  j t j d d  sXt    n  |  j |  j  k rvt    n  |  j d 7_ Wn t k
 rn XWn t k
 rn X|  j |  _ Wn t k
 rn X| |  _ |  j } y |  j t j d d  s	t    n  |  j d 7_ |  j t j d d  s<t    n  |  j d 7_ |  j |  _ |  j t j d d  s{t    n  |  j d 7_ |  j t j d d  st    n  |  j d 7_ |  j |  _ Wn t k
 rn X| |  _ t S(   Nia   i   i   (   R   t   I_pVt   I_p1t   I_p2R   t   in_groupingR   t   g_vt   lab2t   out_groupingt   lab4t   go_out_groupingt   lab3t   go_in_groupingt   lab1R   t   lab6t   lab5t   lab7R   (   R   R   t   v_2t   v_3t   v_4t   v_5(    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_mark_regions  s    			 	  		 	   		 	c         C   s  x t  r |  j } y |  j |  _ |  j t j  } | d k rK t    n  |  j |  _ | d k ry |  j d  s t	 Sn^ | d k r |  j d  s t	 Sn< | d k r |  j |  j
 k r t    n  |  j d 7_ n  w Wn t k
 r n X| |  _ Pq Wt  S(   Ni    i   u   ãi   u   õi   (   R   R   R   R   R   t   a_1R   R	   R
   R   R   (   R   R   R   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_postludeu  s0    		 	c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_RV  s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_R1  s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_R2  s    c         C   s;  |  j  |  _ |  j t j  } | d k r. t S|  j  |  _ | d k ri |  j   sV t S|  j   s7t Sn| d k r |  j   s t S|  j	 d  s7t Sn| d k r |  j   s t S|  j	 d  s7t Snj| d k r |  j   s t S|  j	 d  s7t Sn8| d	 k rj|  j
   st S|  j   s+t S|  j |  j  } y|  j  |  _ |  j t j  } | d k r|  j | |  _  t    n  |  j  |  _ |  j   s|  j | |  _  t    n  |  j   st S| d k rR|  j  |  _ |  j d
  s|  j | |  _  t    n  |  j  |  _ |  j   s?|  j | |  _  t    n  |  j   sRt Sn  Wq7t k
 rfq7Xn| d k rE|  j   st S|  j   st S|  j |  j  } y |  j  |  _ |  j t j  d k r|  j | |  _  t    n  |  j  |  _ |  j   s|  j | |  _  t    n  |  j   s-t SWq7t k
 rAq7Xn| d k r |  j   sat S|  j   sqt S|  j |  j  } y |  j  |  _ |  j t j  d k r|  j | |  _  t    n  |  j  |  _ |  j   s|  j | |  _  t    n  |  j   st SWq7t k
 rq7Xn| d k r|  j   s<t S|  j   sLt S|  j |  j  } y |  j  |  _ |  j d
  s|  j | |  _  t    n  |  j  |  _ |  j   s|  j | |  _  t    n  |  j   st SWq7t k
 rq7XnE | d k r7|  j   st S|  j d  s!t S|  j	 d  s7t Sn  t S(   Ni    i   i   u   logi   u   ui   u   entei   u   ati   i   i   i	   u   eu   ir(   R   R	   t   find_among_bR   t   a_5R   R   t   _PortugueseStemmer__r_R2t	   slice_delR
   t   _PortugueseStemmer__r_R1R   t   a_2R   t   eq_s_bt   a_3R   t   a_4R   R   t   _PortugueseStemmer__r_RVR   (   R   R   R   R    R!   R"   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_standard_suffix  s        c         C   s   |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  d k r\ | |  _ t S|  j  |  _ |  j	   sx t S| |  _ t
 S(   Ni    (   R   R   R   t   limit_backwardR	   R*   R   t   a_6R   R-   R   (   R   R    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_verb_suffixm  s    			c         C   sX   |  j  |  _ |  j t j  d k r( t S|  j  |  _ |  j   sD t S|  j   sT t St	 S(   Ni    (
   R   R	   R*   R   t   a_7R   R   R3   R-   R   (   R   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_residual_suffix  s    c         C   s  |  j  |  _ |  j t j  } | d k r. t S|  j  |  _ | d k r|  j   sV t S|  j   sf t S|  j  |  _ y |  j	 |  j  } yo |  j
 d  s t    n  |  j  |  _ |  j	 |  j  } |  j
 d  s t    n  |  j	 | |  _  t    Wn t k
 rn X|  j	 | |  _  |  j
 d  s+t S|  j  |  _ |  j	 |  j  } |  j
 d  sZt S|  j	 | |  _  Wn t k
 r~n X|  j   st S|  j   st Sn" | d k r|  j d  st Sn  t S(   Ni    i   u   uu   gu   iu   ci   (   R   R	   R*   R   t   a_8R   R   R3   R-   R   R0   R   R   R
   R   (   R   R   R   R    R!   (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   __r_residual_form  sT      c   
      C   s  |  j  } |  j   | |  _  |  j   |  j  |  _ |  j |  _  |  j |  j  } yy|  j |  j  } y|  j |  j  } yu |  j |  j  } y% |  j   s t    n  t    Wn t k
 r n X|  j | |  _  |  j   s t	    n  Wn t k
 r n X|  j | |  _  |  j |  j  } y |  j  |  _
 |  j d  sJt    n  |  j  |  _ |  j |  j  } |  j d  st    n  |  j | |  _  |  j   st    n  |  j   st SWn t k
 rn X|  j | |  _  t    Wn t	 k
 rn X|  j | |  _  |  j   s$t    n  Wn t k
 r8n XWn t k
 rMn X|  j | |  _  |  j |  j  } |  j   |  j | |  _  |  j |  _  |  j  }	 |  j   |	 |  _  t S(   Nu   iu   c(   R   t   _PortugueseStemmer__r_preludet"   _PortugueseStemmer__r_mark_regionsR5   R   t%   _PortugueseStemmer__r_standard_suffixR   R   t!   _PortugueseStemmer__r_verb_suffixR   R	   R0   R   R   R3   R-   R   R   t%   _PortugueseStemmer__r_residual_suffixR   t#   _PortugueseStemmer__r_residual_formt   _PortugueseStemmer__r_postludeR   (
   R   R   R!   R"   R#   t   v_6t   v_7t   v_8t   v_9t   v_10(    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   _stem  s|    	
	
      
	
	(   t   __name__t
   __module__t   __doc__R   R   R%   R/   R1   R2   R+   R6   R8   R:   R   R   R   R   R<   R=   RB   R3   R.   R,   R>   R?   R@   RA   RH   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR      s  B	$	c	$							CR   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   4  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   7  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   :  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   =  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   @  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   C  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   F  s    R   c           B   s   e  Z RS(    (   RI   RJ   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyR   I  s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR   R   R   R   R   R   R   R   (    (    (    sA   lib/python2.7/site-packages/snowballstemmer/portuguese_stemmer.pyt   <module>   s      0