o
    욌hW                     @   s   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZdS )   )BaseStemmer)Amongc                   @   s,  e Zd 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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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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d0dd1ed2dd3ed4dd5ed6dd7ed8dd9ed:dd1ed;dd-ed<dd=ed>dded?d5d@edAdd1edBdd@edCdDdEedFddEedGdd@edHdd=edIdd3edJdd7gZ
edKdd/edLddEedMddedNdd/edOdd/ed>dded?d9dedPdd9edQdd9g	ZedRddedSddedTddedUddedVddedWddedXddedYddedZd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daddedbd+dedcdddgZededdedfddgZedgddedhddediddedjddedkddedlddedmddednddgZedoddedpddedqddedrddedsddedtdd3edudd@edvddedwddEedxdd/edyddedzdd7ed{dd=ed|dded}dded~ddeddd9eddd1gZg dZg dZg dZdZd	Zd	Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Z!dd Z"dd Z#dd Z$dd Z%dS )EnglishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    arsencommungener'r   z's'    z'sied   s   iesssesssus bbddffggblmmnnpprratttizedeedingedlyeedlyinglyancienciogi   li   bli   abli   alli   fulli	   lessli   ousli
   entli   alitibilitiiviti   tionalational   alismationization      izeratorivenessfulnessousnessicateativealizeicitiicalfulnessicanceenceableibleateiveizeitialismionerousantentmentement   elsucceedproceedexceedcanninginningearringherringoutingandesatlasbiascosmosdyingearlygentlyhoweidlylyingnewsonlysinglyskiesskisskytyingugly)rD   A   rd   r   )r   rD   r      r   )7      r   Fc                 C   s  d| _ | j}z| j| _| dst | j| _|  sW dS W n	 ty(   Y nw || _| j}z| j| _| ds<t | j| _| dsHW dS d| _ W n	 tyU   Y nw || _| j}zo	 | j}z[zC	 | j}z!| 	t
jddsst | j| _| dst | j| _|| _t  ty   Y nw || _| j| jkrt |  jd7  _qd ty   Y nw | dsW W dS d| _ W q] ty   Y nw || _	 W n	 ty   Y nw || _dS )	NFr	   yYTa   y   r   )	B_Y_foundcursorbraeq_slab0ket	slice_dellab1
slice_fromin_groupingr   g_vlab5lab4limitlab3lab2)selfv_1v_2v_3v_4v_5 r   \/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/english_stemmer.py__r_prelude   sr   





zEnglishStemmer.__r_preludec                 C   s,  | j | _| j | _| j}z|zD| j}z| tjdkrt t  ty'   Y nw || _| 	tj
dds6t |  jd7  _| tj
ddsHt |  jd7  _W n	 tyY   Y nw | j| _| 	tj
ddsit |  jd7  _| tj
dds{t |  jd7  _| j| _W n	 ty   Y nw || _dS )Nr
   r   r   r   T)r   I_p1I_p2r   
find_amongr   a_0r   r   go_out_groupingr   r   go_in_groupingr   r   r   r   r   r   __r_mark_regions   s<   zEnglishStemmer.__r_mark_regionsc                 C   s   z\| j | j }z$| tjddst | tjddst | tjdds)t t  ty4   Y nw | j | | _| tjddsFW dS | tjddsQW dS | j| j	krZW dS W dS  tyf   Y dS w )NY   r   r   FT)
r   r   out_grouping_br   g_v_WXYr   in_grouping_br   r   limit_backwardr   r   r   r   r   
__r_shortv   s.   zEnglishStemmer.__r_shortvc                 C      | j | jksdS dS NFT)r   r   r   r   r   r   __r_R1     zEnglishStemmer.__r_R1c                 C   r   r   )r   r   r   r   r   r   __r_R2  r   zEnglishStemmer.__r_R2c                 C   s  | j | j }z"| j| _| tjdkr| j | | _t | j| _|  s'W dS W n	 ty1   Y nw | j| _| tj	}|dkrBdS | j| _|dkrS| 
dsQdS dS |dkrz=| j | j }z| jd }|| jk rlt || _| 
dsxW W dS t  ty   Y nw | j | | _| 
dsW dS W dS  ty   Y dS w |dkr| j| jkrdS |  jd8  _| tjd	d
sdS |  jd8  _|  sdS dS )Nr
   Fr   r   r   iier   r   r   T)r   r   r   find_among_br   a_1r   r   r   a_2r   r   r   r   go_out_grouping_br   )r   r   	among_varr   cr   r   r   __r_Step_1a   sd   




zEnglishStemmer.__r_Step_1ac                 C   s  | j | _| tj}|dkrdS | j | _|dkr'|  sdS | ds%dS d	S | j| j  }| 	tj
dds7dS |  j d8  _ | j| | _ |  sJdS | j| j  }| tj}|dkr\dS | j| | _ |dkrw| j }| | j | j d || _ d	S |dkr| j | _| j | jkrdS |  j d8  _ | j | _|  sdS d	S | j | jkrdS | j| j  }|  sdS | j| | _ | j }| | j | j d || _ d	S )
Nr
   Fr   eer   r   re   r   T)r   r   r   r   a_4r   _EnglishStemmer__r_R1r   r   r   r   r   a_3insertr   r   _EnglishStemmer__r_shortv)r   r   r   r   r   r   r   r   r   __r_Step_1bP  s^   
&zEnglishStemmer.__r_Step_1bc                 C   s   | j | _z+| j| j  }z| dst t  ty   Y nw | j| | _ | ds.W dS W n	 ty8   Y nw | j | _| tj	ddsGdS z| j | j
krQt W dS  ty\   Y nw | dsddS dS )Nr   r   Fr   r   r   T)r   r   r   eq_s_br   r   r   r   r   r   r   r   r   r   r   r   r   __r_Step_1c  s0   


zEnglishStemmer.__r_Step_1cc                 C   s  | j | _| tj}|dkrdS | j | _|  sdS |dkr'| ds%dS d"S |dkr4| ds2dS d"S |dkrA| ds?dS d"S |d	krN| d
sLdS d"S |dkr[| dsYdS d"S |dkrh| dsfdS d"S |dkru| dssdS d"S |dkr| dsdS d"S |dkr| dsdS d"S |dkr| dsdS d"S |dkr| dsdS d"S |dkr| dsdS d"S |dkr| dsdS | dsdS d"S |dkr| dsdS d"S | 	tj
d d!sdS |  sdS d"S )#Nr
   Fr   tionr   rT   r   rS   r/   rU   r9   ra   rE   rY   r@   rW   r1   r[   r3   rP   r7   r_   r=   rX   r-   bler)   rf   ogr5   lessc   t   T)r   r   r   r   a_5r   r   r   r   r   
g_valid_LIr   r   r   r   r   r   
__r_Step_2  s   
0
-
*
'
$
!









zEnglishStemmer.__r_Step_2c                 C   s   | j | _| tj}|dkrdS | j | _|  sdS |dkr'| ds%dS dS |dkr4| ds2dS dS |dkrA| ds?dS dS |d	krN| d
sLdS dS |dkrZ|  sXdS dS | 	 s`dS |  sfdS dS )Nr
   Fr   r   r   rW   r   r[   r/   rR   r9   T)
r   r   r   r   a_6r   r   r   r   _EnglishStemmer__r_R2r   r   r   r   
__r_Step_3  s@   



zEnglishStemmer.__r_Step_3c                 C   s   | j | _| tj}|dkrdS | j | _|  sdS |dkr&|  s$dS dS z+| j| j  }z| 	ds6t
 t  t
yA   Y nw | j| | _ | 	dsPW dS W n	 tyZ   Y nw |  sadS dS )Nr
   Fr   r   tT)r   r   r   r   a_7r   r   r   r   r   r   r   )r   r   r   r   r   r   
__r_Step_4  s4   

zEnglishStemmer.__r_Step_4c                 C   s  | j | _| tj}|dkrdS | j | _|dkrtzJ| j| j  }z
|  s't t	  ty2   Y nw | j| | _ | 
 s@W dS | j| j  }z|  sNt W W dS  tyZ   Y nw | j| | _ W n	 t	yk   Y nw |  srdS dS |  szdS | dsdS |  sdS dS )Nr
   Fr   rf   T)r   r   r   r   a_8r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   
__r_Step_5  sD   

zEnglishStemmer.__r_Step_5c                 C   s8   | j | _| tjdkrdS | j | _| j | jkrdS dS )Nr
   FT)r   r   r   r   a_9r   r   r   r   r   r   __r_exception2:  s   zEnglishStemmer.__r_exception2c                 C   sV  | j | _| tj}|dkrdS | j | _| j | jk rdS |dkr)| ds'dS dS |dkr6| ds4dS dS |dkrC| dsAdS dS |d	krP| d
sNdS dS |dkr]| ds[dS dS |dkrj| dshdS dS |dkrw| dsudS dS |dkr| dsdS dS |dkr| dsdS dS |dkr| dsdS dS |dkr| dsdS dS )Nr
   Fr   skir   r~   r   dier/   lier9   tierE   idlr@   gentlr1   uglir3   earlir7   onlir=   singlT)r   r   r   r   a_10r   r   r   r   r   r   r   __r_exception1C  sf   











zEnglishStemmer.__r_exception1c                 C   s   | j sdS 	 | j}zLz8	 | j}z| j| _| dst | j| _|| _t  ty.   Y nw || _| j| jkr;t |  jd7  _q tyK   Y nw | 	dsTW dS W q ty^   Y nw || _	 dS )NFTr   r   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   r   __r_postluden  s:   

zEnglishStemmer.__r_postludec                 C   s.  z
| j }z
|  st t  ty   Y nw || _ z&| j }z| j d }|| jkr.t || _ t  ty<   Y nw || _ t  tyK   Y nw || _ |   |   | j | _	| j| _ | j| j  }| 
  | j| | _ z| j| j  }z
|  s~t t  ty   Y nw | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }	|   | j|	 | _ | j| j  }
|   | j|
 | _ | j| j  }|   | j| | _ W n	 ty   Y nw | j	| _ | j }|   || _ W dS  ty   Y dS w )Nr   T)r   _EnglishStemmer__r_exception1r   r   r   r   r   _EnglishStemmer__r_prelude_EnglishStemmer__r_mark_regionsr   _EnglishStemmer__r_Step_1a_EnglishStemmer__r_exception2r   r   _EnglishStemmer__r_Step_1b_EnglishStemmer__r_Step_1c_EnglishStemmer__r_Step_2_EnglishStemmer__r_Step_3_EnglishStemmer__r_Step_4_EnglishStemmer__r_Step_5_EnglishStemmer__r_postlude)r   r   r   r   r   v_6v_7v_8v_9v_10v_11v_12v_13r   r   r   _stem  s~   

zEnglishStemmer._stemN)&__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s"   















































































































: 02< &	+r   c                   @      e Zd ZdS )r   Nr   r   r  r   r   r   r   r         r   c                   @   r  )r   Nr  r   r   r   r   r     r  r   c                   @   r  )r   Nr  r   r   r   r   r     r  r   c                   @   r  )r   Nr  r   r   r   r   r     r  r   c                   @   r  )r   Nr  r   r   r   r   r     r  r   c                   @   r  )r   Nr  r   r   r   r   r     r  r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r   r   r   r   <module>   s        J