o
    Mi                     @   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h dZdZdZdZdd Zdd Z	dd	 Z
d
d Zdd Zdd Zdd Zdd Zd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d0dded1dd$ed2dd*ed3dded4dd5ed6dded7dd&ed8dd5gZ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dFdGdedHddedIdJdgZedKdd$edLdd edMddedNddedOddedPddedQdd edRddedSd*dedTdd$edUdd5edVd*d edWddedXdd edYdd$edZdded[d\ded]dd5ed^dd5ed_dded`dadedbdadedcddeddddededdgZedfddedgddedhddediddedjddedkddedlddedmddednddedoddedpddedqddgZdrS )sIrishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from irish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >
   aeiou   á   é   í   ó   ú    c                 C   s   | j | _| j | _| j | _| j}zN| tjst |  jd7  _| j| _| 	tjs-t |  jd7  _| j| _| tjsAt |  jd7  _| 	tjsQt |  jd7  _| j| _W n	 tyf   Y nw || _dS )Nr   T)
limitI_pVI_p1I_p2cursorgo_out_groupingr   g_vlab0go_in_grouping)selfv_1 r   Q/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/irish_stemmer.py__r_mark_regions   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      f   s   b   c   d   g   p	   tmT)r   bra
find_amongr   a_0ket	slice_del
slice_fromr   	among_varr   r   r   __r_initial_morph-   sX   









zIrishStemmer.__r_initial_morphc                 C      | j | jkS N)r   r   r   r   r   r   __r_RVT      zIrishStemmer.__r_RVc                 C   r8   r9   )r   r   r:   r   r   r   __r_R1W   r<   zIrishStemmer.__r_R1c                 C   r8   r9   )r   r   r:   r   r   r   __r_R2Z   r<   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)	r   r2   find_among_br   a_1r/   _IrishStemmer__r_R1r3   _IrishStemmer__r_R2r5   r   r   r   __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$   paiteu   óidT)	r   r2   rA   r   a_2r/   rD   r3   r4   r5   r   r   r   	__r_derivq   s<   





zIrishStemmer.__r_derivc                 C   r?   r@   )	r   r2   rA   r   a_3r/   _IrishStemmer__r_RVr3   rC   r5   r   r   r   __r_verb_sfx   rF   zIrishStemmer.__r_verb_sfxc                 C   s   | j }|   || _ |   | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| _ dS )NT)r   _IrishStemmer__r_initial_morph_IrishStemmer__r_mark_regionslimit_backwardr   _IrishStemmer__r_noun_sfx_IrishStemmer__r_deriv_IrishStemmer__r_verb_sfx)r   r   v_3v_4v_5r   r   r   _stem   s"   zIrishStemmer._stemzb'r   bhr"   bhfr   bpr*   chr$   zd'zd'fhdhr&   dtr,   fhgcghr(   zh-zm'mbmh
   zn-ndngphshr    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íochtarJ   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tarN)__name__
__module____qualname____doc__r   r   r   r   rQ   rP   rN   rC   rD   rS   rT   rU   rY   r   r1   rB   rK   rM   r   r   r   r   r      s    '












































































r   c                   @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r     s    r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   <module>   s     	