o
    욌hO                     @   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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G dd  d eZG d!d" d"eZG d#d$ d$eZd%S )&   )BaseStemmer)Amongc                
   @   sT  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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gZg 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d0dded1dded2dded3dded4dded5dd%ed6dded7dd(ed8dd(ed9dded:dded;dded<dded=dd>ed?d@d
edAdBdCedDddedEdd>edFdGd
edHdIdCedJdGdKedLdGdMedNddOedPdQdRedSddedTddZ	g 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dcdKdedddKdededdedfddedgddedhddediddedjddedkdldedmdldednddedoddedpddedqddedrddedsddedtddeduddedvddedwddedxddZ
g 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dddedddedd(dedddedddedddedddedddedddedd>dedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddZedddedd	dedd	dedddedddedddgZedddedddedddedddedddgZg dZg dZd	Z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dS )FrenchStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    colpartap    H       Her      Hi   IU   Y   iqUablu   Ièru   ièreusivicabiliqUeatriceanceencelogieableismeeuse   isteive   ifusionationutionateuriqUesatricesancesenceslogiesablesismeseusesistesivesifsusionsationsutionsateursments   ements   	issements      u   itésmentement"   issement#   amment   emment   aux
   eaux'   	   euxu   itéiraieisseissanteiiraiirirasiesu   îmesissesissantesu   îtesisiraisissaisirionsissionsironsissonsissantsitirait   issaitissantiraIentissaIentirentissentirontu   îtiriezissiezirezissezaeraasseanteu   éeaieraieraserasu   âmesassesantesu   âtesu   éesaiseraisionserions   assionseronsantsu   ésaiterait   antaIenteraIent   u   èrentassenterontu   âteziez    eriez!   assiezerez   éeu   Ièreu   ièreionIerierelleillennonnett)r   A      r   r   r   r   r   r   r   r   r   r   r   r         g   r(   r   )r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 C   s  	 | j }zz	 | j }zzr| j }z| tjddst | j | _z| j }z(| ds0t | j | _| tjdds?t | 	dsMW W W W W W W dS t
  tyX   Y nw || _ z(| dset | j | _| tjddstt | 	dsW W W W W W W dS t
  ty   Y nw || _ | d	st | j | _| 	d
sW W W W W W dS W t  t
y   Y t w  ty   Y nw || _ z| j | _| dst | j | _| 	dsW W W W W dS t  ty   Y nw || _ z | j | _| dst | j | _| 	dsW W W W W dS t  ty   Y nw || _ z-| j | _| d	s-t | j | _| tjdds=t | 	d
sJW W W W W dS t  tyV   Y nw || _ | dsct | j | _| dspt | j | _| 	dsW W W W dS W n
 ty   Y nw || _ t  ty   Y nw || _ | j | jkrt |  j d7  _ q	 ty   Y nw W q  ty   Y nw || _ 	 dS )NTa      ur   FrW   r   yr      ër      ïr   qr   )cursorin_groupingr   g_vlab4braeq_slab6ket
slice_fromlab5lab7lab3lab8lab9lab10lab2lab1limitlab0)selfv_1v_2v_3v_4 r   [/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/french_stemmer.py__r_prelude   s   








ZzFrenchStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zzx| j}z)| tjdds t | tjdds+t | j| j kr4t |  jd7  _t	  tyF   Y nw || _z| 
tjdkrVt t	  tya   Y nw || _| j| j krnt |  jd7  _| tjddst |  jd7  _W n	 t	y   Y nw | j| _W n	 ty   Y nw || _| j}zR| tjddst |  jd7  _| tjddst |  jd7  _| j| _| tjddst |  jd7  _| tjddst |  jd7  _| j| _W n
 ty   Y nw || _dS )Nr   r   r   r   T)r   I_pVI_p1I_p2r   r   r   r   r   r   
find_amonga_0r   r   go_out_groupingr   go_in_grouping)r   r   r   r   r   r   r   __r_mark_regions(  sj   zFrenchStemmer.__r_mark_regionsc                 C   s  	 | j }zt| j | _| tj}|dkrt | j | _|dkr'| ds&W dS nP|dkr4| ds3W dS nC|dkrA| d	s@W dS n6|d
krN| dsMW dS n)|dkr[| dsZW dS n|dkrg|  sfW dS n| j | j	krpt |  j d7  _ W q  ty   Y nw || _ 	 dS )NTr   r   rW   Fr   r   r   r   r   r   r   r   r   )
r   r   r   r   a_1r   r   r   	slice_delr   )r   r   	among_varr   r   r   __r_postlude_  sP   




zFrenchStemmer.__r_postludec                 C      | j | jksdS dS NFT)r   r   r   r   r   r   __r_RV     zFrenchStemmer.__r_RVc                 C   r   r   )r   r   r   r   r   r   __r_R1  r   zFrenchStemmer.__r_R1c                 C   r   r   )r   r   r   r   r   r   __r_R2  r   zFrenchStemmer.__r_R2c                 C   s	  | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |dkr|  s0dS |  s6dS | j| j  }zZ| j | _| 	dsO| j| | _ t
 | j | _z4| j| j  }z|  sbt |  skW W W dS t  tyv   Y nw | j| | _ | dsW W dS W n	 ty   Y nw W dS W dS  t
y   Y dS w |dkr|  sdS | dsdS dS |d	kr|  sdS | d
sdS dS |dkr|  sdS | dsdS dS |dkr|  sdS |  sdS | j| j  }z| j | _| tj}|dkr
| j| | _ t | j | _|dkrW|  s!| j| | _ t |  s)W dS | j | _| 	ds<| j| | _ t | j | _|  sN| j| | _ t |  sVW dS n|dkrzF| j| j  }z|  slt |  svW W W dS t  ty   Y nw | j| | _ |  s| j| | _ t | dsW W dS W n@ ty   Y n:w |dkr|  s| j| | _ t |  sW dS n |  s| j| | _ t | dsW dS W dS W dS W dS W dS W dS  ty   Y dS w |dkr|  sdS |  sdS | j| j  }z| j | _| tj}|dkr,| j| | _ t | j | _|dkrxz8| j| j  }z|  sEt |  sOW W W dS t  ty[   Y nw | j| | _ | dslW W dS W nh tyw   Y nbw |dkrz8| j| j  }z|  st |  sW W W dS t  ty   Y nw | j| | _ | dsW W dS W n& ty   Y n w |  s| j| | _ t |  sW dS W dS W dS W dS W dS W dS  ty   Y dS w |dkr|  sdS |  sdS | j| j  }	z| j | _| 	ds| j|	 | _ t | j | _|  s/| j|	 | _ t |  s7W dS | j | _| 	dsJ| j|	 | _ t | j | _z8| j| j  }
z|  s^t |  shW W W dS t  tyt   Y nw | j|
 | _ | dsW W dS W n
 ty   Y nw W dS W dS  ty   Y dS w |dkr| dsdS dS |dkr|  sdS | dsdS dS |dkrz?| j| j  }z|  st |  sW W dS t  ty   Y nw | j| | _ |  s W dS | ds	W dS W dS  ty   Y dS w |dkr7|  s#dS | tj dds.dS |  s5dS dS |dkrM|  sCdS | dsKdS dS |dkrc|  sYdS | dsadS dS | j| j  }| !tj ddstdS |  s{dS | j| | _ |  sdS dS ) Nr   Fr   r   r   r   r   logr   r   r   entr   atrR   rW   r
   r   r(   rQ   eaurN   alr%   rC   r   r   rJ   r   rL   T)"r   r   find_among_br   a_4r   _FrenchStemmer__r_R2r   r   eq_s_br   r   r   r   _FrenchStemmer__r_RVa_2r   r   r   _FrenchStemmer__r_R1a_3r   r   r   r   r   lab11lab13lab12lab15lab14out_grouping_br   in_grouping_b)r   r   r   r   r   r   v_5v_6v_7v_8v_9v_10v_11r   r   r   __r_standard_suffix  s     


 g  e  d 
 _ 
 Z 
 U 















 7  %  #       













ywjhc`







<:9
6

1



" 








z!FrenchStemmer.__r_standard_suffixc                 C   s   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _| j| j  }z| 	ds3t
 || _W dS  t
yA   Y nw | j| | _ | tjddsU|| _dS |  s[dS || _dS )NFr   r   r   r   T)r   r   limit_backwardr   r   r   a_5r   r   r   r   r   r   r   )r   r   r   r   r   r   __r_i_verb_suffix  s0   
zFrenchStemmer.__r_i_verb_suffixc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|dkr:|  s3|| _dS | 	 s9dS n@|dkrE| 	 sDdS n5| 	 sKdS | j
| j  }z| j | _| dsd| j
| | _ t | j | _| 	 soW dS W n	 tyy   Y nw || _dS )NFr   r   r   r   T)r   r   r   r   r   r   a_6r   r   r   r   r   r   )r   r   r   r   r   r   r   __r_verb_suffix  sH   
zFrenchStemmer.__r_verb_suffixc                 C   s  | j | j }zi| j| _| ds| j | | _t | j| _| j | j }z4| j | j }z| ds3t t  ty>   Y nw | j | | _| t	j
ddsV| j | | _t W n	 ty`   Y nw | j | | _|  snW dS W n	 tyx   Y nw | j| jk rdS | j}| j| _| j| _| t	j}|dkr|| _dS | j| _|dkr|  s|| _dS z.| j | j }z| dst t  ty   Y nw | j | | _| ds|| _W dS W n	 ty   Y nw |  sdS n|d	kr| d
sdS n|  sdS || _dS )Nsr   r      Fr   r   tr   rW   T)r   r   r   r   r   r   r   r   r   r   g_keep_with_sr   r   r   r   a_7r   r   r   r   )r   r   r   r   r   r   r   r   r   r   __r_residual_suffix  s   




z!FrenchStemmer.__r_residual_suffixc                 C   sj   | j | j }| tjdkrdS | j | | _| j| _| j| jkr"dS |  jd8  _| j| _|  s3dS dS )Nr   Fr   T)	r   r   r   r   a_8r   r   r   r   )r   r   r   r   r   __r_un_double$  s   zFrenchStemmer.__r_un_doublec                 C   s   d}	 z|  tjddst |d8 }W q ty   Y nw 	 |dkr%dS | j| _z+| j| j }z| ds9t t	  tyD   Y nw | j| | _| dsSW dS W n	 t	y]   Y nw | j| _
| d	sidS dS )
Nr   Tr   r   r   Fr      èr   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   __r_un_accent3  s8   


zFrenchStemmer.__r_un_accentc                 C   s  | j }|   || _ |   | j | _| j| _ | j| j  }zz| j| j  }z| j| j  }zC| j| j  }z
|  s:t t  tyE   Y nw | j| | _ z
|  sTt	 t  t	y_   Y nw | j| | _ | 
 smt W n	 tyw   Y nw | j| | _ | j| j  }zf| j | _zU| j| j  }z| dst | j | _| dsW W W W W W dS t  ty   Y nw | j| | _ | ds| j| | _ t | j | _| dsW W W W W dS W W t  ty   Y W t w  ty   Y t w  ty   Y nw | j| | _ |  st W n
 ty   Y nw W n
 ty$   Y nw | j| | _ | j| j  }|   | j| | _ | j| j  }	|   | j|	 | _ | j| _ | j }
|   |
| _ dS )Nr   rW   F   çcT)r   _FrenchStemmer__r_prelude_FrenchStemmer__r_mark_regionsr   r   !_FrenchStemmer__r_standard_suffixr   r   _FrenchStemmer__r_i_verb_suffixr   _FrenchStemmer__r_verb_suffixr   r   r   r   r   r   r   r   r   !_FrenchStemmer__r_residual_suffixr   _FrenchStemmer__r_un_double_FrenchStemmer__r_un_accent_FrenchStemmer__r_postlude)r   r   r   r   r   r   r   r   r   r   r   r   r   r   _stemP  s   




zFrenchStemmer._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      sJ   




























	























 
!
"
#
$
%
&
'
(
)
*
+.








	























 
!
"
#&








	























 
!
"
#
$
%
&
*










f7&  (A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   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   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   r   r   r   r   r   r   r   r   r   r   <module>   s4          