o
     ¢i¶  ã                   @   sD   d dl mZ d dlmZ ddlmZ ddlmZ G dd„ deƒZdS )	é    )ÚOrderedDict)ÚListé   )Ú
Lemmatizer)ÚTokenc                   @   s"   e Zd Zdedee fdd„ZdS )ÚMacedonianLemmatizerÚtokenÚreturnc                 C   sr  |j }|j ¡ }|dv r| ¡ gS |dd … dkr!|d d… }d}| j di ¡}| j di ¡}| j di ¡}t| |¡| |¡| |¡fƒsR|dkrM|gS | ¡ gS | |i ¡}| |i ¡}| |g ¡}	|}
| ¡ }g }|	D ]'\}}| |¡r•|d t|ƒt|ƒ … | }|sˆqn||v s| 	¡ s•| 
|¡ qntt |¡ƒ}| |g ¡D ]}||vr¯| d	|¡ q£|s·| 
|
¡ |S )
N)Ú ÚeolÚspaceéýÿÿÿu   Ñ˜ÑœÐ¸ÚverbÚlemma_indexÚ	lemma_excÚlemma_rulesÚpropnr   )ÚtextÚpos_ÚlowerÚlookupsÚ	get_tableÚanyÚgetÚendswithÚlenÚisalphaÚappendÚlistr   ÚfromkeysÚinsert)Úselfr   ÚstringÚuniv_posÚindex_tableÚ	exc_tableÚrules_tableÚindexÚ
exceptionsÚrulesÚorigÚformsÚoldÚnewÚform© r/   úL/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/mk/lemmatizer.pyÚrule_lemmatize	   sR   

ýÿ


€€
z#MacedonianLemmatizer.rule_lemmatizeN)Ú__name__Ú
__module__Ú__qualname__r   r   Ústrr1   r/   r/   r/   r0   r      s    r   N)	Úcollectionsr   Útypingr   Úpipeliner   Útokensr   r   r/   r/   r/   r0   Ú<module>   s
    