a
    Òï aë  ã                   @   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   Zbhé   Zbhfé   Zbpé   Zché   zd'zd'fhZdhé   Zdté	   ZfhÚgcZghé   zh-zm'ZmbZmhé
   zn-ZndZngÚphÚshé   zt-ÚthÚtsu   Ã­ochtau   aÃ­ochtaé    ZireZaireZabhZeabhZibhZaibhZamhZeamhZimhZaimhu   Ã­ochtu   aÃ­ochté   u   irÃ­u   airÃ­é   u	   Ã³ideachaZpatachaZachtaZarcachtaZeachtau   grafaÃ­ochtaÚpaiteZachZeachu   Ã³ideachZgineachZpatachu
   grafaÃ­ochZpataighu   Ã³idighu   achtÃºilu	   eachtÃºilé   ZgineasZginisZachtZarcachté   Zeachtu   grafaÃ­ochtu
   arcachtaÃ­u   grafaÃ­ochtaÃ­ZimidZaimidu   Ã­midu   aÃ­midZadhZeadhZfaidhZfidhu   Ã¡ilZainZtearÚtar)é   éA   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 C   sè   | j | _| j | _| j | _| j}z¬|  tjdd¡s6tƒ ‚|  jd7  _| j| _|  	tjdd¡sbtƒ ‚|  jd7  _| j| _|  tjdd¡sŽtƒ ‚|  jd7  _|  	tjdd¡s²tƒ ‚|  jd7  _| j| _W n tyÜ   Y n0 || _dS )Néa   éú   r   T)
ÚlimitÚI_pVÚI_p1ÚI_p2ÚcursorZgo_out_groupingr   Úg_vÚlab0Zgo_in_grouping)ÚselfÚv_1© r)   ú<lib/python3.9/site-packages/snowballstemmer/irish_stemmer.pyZ__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 nÐ|dkrV|  d¡sTdS n¸|dkrn|  d¡sldS n |dkr†|  d	¡s„dS nˆ|d
krž|  d¡sœdS np|dkr¶|  d¡s´dS nX|dkrÎ|  d¡sÌdS n@|dkræ|  d¡sädS n(|dkrþ|  d¡südS n|  d¡sdS dS )Nr   Fr   r   Úfr   Úsr   Úbr	   Úcr
   Údr   Úgr   Úpr   ÚtÚmT)r$   ÚbraZ
find_amongr   Úa_0ÚketÚ	slice_delÚ
slice_from©r'   Z	among_varr)   r)   r*   Z__r_initial_morph…   sF    







zIrishStemmer.__r_initial_morphc                 C   s   | j | jksdS dS ©NFT)r!   r$   ©r'   r)   r)   r*   Z__r_RV¬   s    zIrishStemmer.__r_RVc                 C   s   | j | jksdS dS r:   )r"   r$   r;   r)   r)   r*   Z__r_R1±   s    zIrishStemmer.__r_R1c                 C   s   | j | jksdS dS r:   )r#   r$   r;   r)   r)   r*   Z__r_R2¶   s    zIrishStemmer.__r_R2c                 C   sf   | j | _|  tj¡}|dkr dS | j | _|dkrJ|  ¡ s<dS |  ¡ sbdS n|  ¡ sVdS |  ¡ sbdS dS ©Nr   Fr   T)	r$   r6   Úfind_among_br   Úa_1r4   Ú_IrishStemmer__r_R1r7   Ú_IrishStemmer__r_R2r9   r)   r)   r*   Z__r_noun_sfx»   s    zIrishStemmer.__r_noun_sfxc                 C   s¼   | j | _|  tj¡}|dkr dS | j | _|dkrJ|  ¡ s<dS |  ¡ s¸dS nn|dkrb|  d¡s¸dS nV|dkrz|  d¡s¸dS n>|dkr’|  d	¡s¸dS n&|d
krª|  d¡s¸dS n|  d¡s¸dS dS )Nr   Fr   r   Zarcr   Zginr   Zgrafr	   r   u   Ã³idT)	r$   r6   r=   r   Úa_2r4   r@   r7   r8   r9   r)   r)   r*   Z	__r_derivÏ   s2    




zIrishStemmer.__r_derivc                 C   sf   | j | _|  tj¡}|dkr dS | j | _|dkrJ|  ¡ s<dS |  ¡ sbdS n|  ¡ sVdS |  ¡ sbdS dS r<   )	r$   r6   r=   r   Úa_3r4   Ú_IrishStemmer__r_RVr7   r?   r9   r)   r)   r*   Z__r_verb_sfxì   s    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_regionsZlimit_backwardr    Ú_IrishStemmer__r_noun_sfxÚ_IrishStemmer__r_derivÚ_IrishStemmer__r_verb_sfx)r'   r(   Zv_3Zv_4Zv_5r)   r)   r*   Ú_stem   s"    zIrishStemmer._stemN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r5   r>   rA   rB   r%   r#   r"   r!   rE   rD   rC   r?   r@   rF   rG   rH   rI   r)   r)   r)   r*   r      s¾   























è















ð
























ç











ô'r   c                   @   s   e Zd ZdS )r&   N)rJ   rK   rL   r)   r)   r)   r*   r&     ó    r&   N)Zbasestemmerr   Zamongr   r   ÚBaseExceptionr&   r)   r)   r)   r*   Ú<module>   s
     