o
    욌h                     @   s<   d dl mZ d dlm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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!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d0dded1dded2dded3d4ded5dded6d7dgZ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d?dded@ddedAd
dedBd
d!edCddedDddedEddedFddedGddedHdIdedJdd!edKdd!edLddedMdNdedOdNdedPddedQddedRddgZ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gZg d_Z	d'Z
d'Zd'Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq ZdrS )sIrishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    zb'r   bh   bhf   bp   ch   zd'zd'fhdh   dt	   fhgcgh   zh-zm'mbmh
   zn-ndngphsh   zt-thtsu   íochtau   aíochta    ireaireabheabhibhaibhamheamhimhaimhu   íochtu   aíocht   u   iríu   airí   u	   óideachapatachaachtaarcachtaeachtau   grafaíochtapaiteacheachu   óideachgineachpatachu
   grafaíochpataighu   óidighu   achtúilu	   eachtúil   gineasginisachtarcacht   eachtu   grafaíochtu
   arcachtaíu   grafaíochtaíimidaimidu   ímidu   aímidadheadhfaidhfidhu   áilainteartar)   A      r    r    r    r    r    r    r    r    r    r    r    r    r    r   rG   r   r	   c                 C   s   | j | _| j | _| j | _| j}zV| tjddst |  jd7  _| j| _| 	tjdds1t |  jd7  _| j| _| tjddsGt |  jd7  _| 	tjddsYt |  jd7  _| j| _W n	 tyn   Y nw || _dS )Na      r   T)
limitI_pVI_p1I_p2cursorgo_out_groupingr   g_vlab0go_in_grouping)selfv_1 rW   Z/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/irish_stemmer.py__r_mark_regionsl   s.   zIrishStemmer.__r_mark_regionsc                 C   s"  | j | _| tj}|dkrdS | j | _|dkr |  sdS dS |dkr-| ds+dS dS |dkr:| ds8dS dS |dkrG| d	sEdS dS |d
krT| dsRd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r| dsdS dS | dsdS dS )Nr    Fr   r	   fr   sr   br   cr   dr   gr   pr   tmT)rP   bra
find_amongr   a_0ket	slice_del
slice_fromrU   	among_varrW   rW   rX   __r_initial_morph   sX   









zIrishStemmer.__r_initial_morphc                 C      | j | jksdS dS NFT)rM   rP   rU   rW   rW   rX   __r_RV      zIrishStemmer.__r_RVc                 C   rl   rm   )rN   rP   rn   rW   rW   rX   __r_R1   rp   zIrishStemmer.__r_R1c                 C   rl   rm   )rO   rP   rn   rW   rW   rX   __r_R2   rp   zIrishStemmer.__r_R2c                 C   h   | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |  s,dS |  s2dS dS Nr    Fr   T)	rP   rf   find_among_br   a_1rc   _IrishStemmer__r_R1rg   _IrishStemmer__r_R2ri   rW   rW   rX   __r_noun_sfx       zIrishStemmer.__r_noun_sfxc                 C   s   | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |dkr3| ds1dS dS |dkr@| ds>dS dS |dkrM| d	sKdS dS |d
krZ| dsXdS dS | dsadS dS )Nr    Fr   r	   arcr   ginr   grafr   r1   u   óidT)	rP   rf   ru   r   a_2rc   rx   rg   rh   ri   rW   rW   rX   	__r_deriv   s<   





zIrishStemmer.__r_derivc                 C   rs   rt   )	rP   rf   ru   r   a_3rc   _IrishStemmer__r_RVrg   rw   ri   rW   rW   rX   __r_verb_sfx   rz   zIrishStemmer.__r_verb_sfxc                 C   s   | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| _ dS )NT)rP   _IrishStemmer__r_initial_morph_IrishStemmer__r_mark_regionslimit_backwardrL   _IrishStemmer__r_noun_sfx_IrishStemmer__r_deriv_IrishStemmer__r_verb_sfx)rU   rV   v_3v_4v_5rW   rW   rX   _stem   s"   zIrishStemmer._stemN)__name__
__module____qualname____doc__r   re   rv   r~   r   rR   rO   rN   rM   r   r   r   rw   rx   r   r   r   r   rW   rW   rW   rX   r      s    












































































'r   c                   @   s   e Zd ZdS )rS   N)r   r   r   rW   rW   rW   rX   rS     s    rS   N)basestemmerr   amongr   r   BaseExceptionrS   rW   rW   rW   rX   <module>   s     