U
    YShx                     @   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dS )   )BaseStemmer)Amongc                1   @   s.  e Z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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)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d0d"d"ed1d"d"ed2d"d"ed3d"d"g
Zed4d"d"ed5d"d"ed6d"d"gZed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"gZed<d"d'ed6d=d)ed>d=d)gZed?d"d)ed2d"d)ed3d"d)ed@d"dAedBd"dCedDd"dCedEd"d#edFd"d%edGd"dHedId"dJedKd"dLedMd"d)edNd"d)edOd"d#edPd"d'edQd"d%edRd"d)gZed*d"d"ed,d"d"edSd"d"ed.d"d"ed0d"d"edTd"d"gZed*d"d"ed,d"d"edSd"d"ed.d"d"ed0d"d"edTd"d"gZed-d"d"edUd"d"ed/d"d"edVd"d"ed1d"d"ed2d"d"edWd"d"edXd"d"edYd"d"edZd"d"ed3d"d"gZed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"ed>d"d"g	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d0d"d"ed1d"d"ed2d"d"ed3d"d"g
Z!ed*d"d"ed,d"d"edSd"d"ed.d"d"ed0d"d"edTd"d"gZ"ed^d"d%ed_d=d)ed`d=d#edad=d'gZ#ed7d"d"ed;d"d"edbd"d"gZ$edcd"d"eddd"d"gZ%ed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"gZ&eded"d#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)edrd"d#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'ed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"gZ(ed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"gZ)edd"d'ed5d"dCedd"d'edd"d'edd"dLedd%d'edd"d'edyd"d'edd"d)edd"d)edd"d#edd"d)ed|d"d%edd"d'edd"d)edd"dJeddd'eddd'eddd'eddd)edd"d'edd"d)gZ*ed*d"d"ed,d"d"edSd"d"ed.d"d"ed0d"d"edTd"d"gZ+ed*d"d"ed,d"d"edSd"d"ed.d"d"ed0d"d"edTd"d"gZ,ed[d"d"edd"d"ed\d"d"edd"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"gZ-ed7d"d"ed4d"d"ed5d"d"ed8d"d"ed9d"d"ed:d"d"ed;d"d"ed6d"d"gZ.ed*d"d)ed.d"d)edVd"d)ed0d"d)ed2d"d)ed7d"dJedd"dLedsd"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dd"d)edd"d)edd"dJedd"d)edd"d)edd"dJedd"d)edd"dJedd"d)edd"d)edd"dJedd"dJedd"dJedd"dJedd"d)edd"d)edd"dJedd"d)edd"dJeddd)eddd)edd"d)edd"dJedd"dJedd"d)edd"d)edd"d)edd"dJeddd)g.Z/edd"d"edd"d"edd"d"edd"d"edd"d"edd"d"gZ0dS )TamilStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from tamil.sbl by Snowball 3.0.1 - https://snowballstem.org/
    Fc                 C   s   t | jdkS )N   )lencurrentself r
   P/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/tamil_stemmer.pyZ__r_has_min_length   s    zTamilStemmer.__r_has_min_lengthc                 C   s   | j | _| tj}|dkr dS | j | _|dkr@| ds~dS n>|dkrX| ds~dS n&|dkrp| ds~dS n| d	s~dS d
S )N    Fr      ஓ      ஒ      உ   ஊT)cursorbra
find_amongr   a_0ket
slice_from)r	   	among_varr
   r
   r   Z__r_fix_va_start   s"    



zTamilStemmer.__r_fix_va_startc                 C   sf   | j }z@| j }z|  st W qW n tk
r8   Y nX || _ qDqW n tk
rZ   Y nX || _ dS NT)r   _TamilStemmer__r_fix_endinglab1lab0)r	   v_1v_2r
   r
   r   Z__r_fix_endings(   s      zTamilStemmer.__r_fix_endingsc                 C   sd   | j | _| dsdS | tjdkr*dS | ds8dS | j | _|  sLdS | j }|   || _ dS )N   எFr      ்T)	r   r   eq_sr   r   a_1r   	slice_del_TamilStemmer__r_fix_va_startr	   r   r
   r
   r   Z__r_remove_question_prefixes8   s    

z)TamilStemmer.__r_remove_question_prefixesc           	      C   s  t | jdkrdS | j| _| j| _zJ| j| j }zD| j| _| tj}|dkrXt	 | j| _
|dkr||  sxW W dS n|dkr| j| j }| tjdkrt	 | j| | _|  sW W dS n|dkr| dsW W dS n|dkr| dspW W dS nj|d	kr(| d
spW W dS nH|dkr| js@t	 | j| j }z| ds`t t	 W n tk
r~   Y nX | j| | _| dspW W dS n|dkr| dspW W dS n|dkr2| j| j }z"| tjdkrt t	 W n tk
r   Y nX | j| | _|  spW W dS n>| tj}|dkr\|  spW W dS n| dspW W dS t W n t	k
r   Y nX | j| | _| j| _| dsW dS z| j| j }z| tjdkrt | j| j }zF| ds| j| | _t | tjdkr0| j| | _t W n tk
rH   Y nX | j| _
|  sfW W W dS t W n tk
r   Y nX | j| | _zP| tjdkrt | j| _
| dst |  sW W W dS t W n tk
r   Y nX | j| | _| j| j }| tjdkr,W W dS | j| | _| j| _
|  sRW W dS W n tk
rj   Y nX W n tk
r   Y nX | j| _dS )Nr   Fr   r   r      ள்r      ல்   u   டு      ைu   ம்   r!      T)r   r   r   limit_backwardlimitr   find_among_br   a_5r   r   r$   a_2r   B_found_vetrumai_urupueq_s_blab2a_3lab3a_4r   a_6lab5lab6a_7lab4a_8lab7a_9)	r	   r   r   r   v_3v_4v_5v_6v_7r
   r
   r   Z__r_fix_endingI   s    




 




 





 
 


 


 
 
 zTamilStemmer.__r_fix_endingc                 C   sj   | j | _| tjdkrdS | tjdkr0dS | ds>dS | j | _|  sRdS | j }| 	  || _ dS )Nr   Fr!   T)
r   r   r   r   a_10a_11r"   r   r$   r%   r&   r
   r
   r   Z__r_remove_pronoun_prefixes   s    
z(TamilStemmer.__r_remove_pronoun_prefixesc                 C   s  | j | _| j| _ | j | _| tj}|dkr0dS | j | _|dkrzt| j| j  }z2| tjdkrft	 | 
dsxW W dS t W n t	k
r   Y nX | j| | _ | 
dsW dS W n tk
r   Y nX n>|dkr| 
dsdS n&|dkr| 
d	sdS n|  s
dS | j| _ d
S )Nr   Fr   u	   ுங்r!   r   r(   r   r'   T)r   r.   r/   r   r0   r   a_13r   a_12r   r   r   r$   r	   r   r   r
   r
   r   Z__r_remove_plural_suffix   sB    

 

 


z%TamilStemmer.__r_remove_plural_suffixc                 C   s   |   sdS | j| _| j| _| j| j }z:| j| _| tjdkrHt | j| _	| 
ds`W dS W n tk
rv   Y nX | j| | _| j| _|   dS )NFr   r!   T)_TamilStemmer__r_has_min_lengthr   r.   r/   r   r0   r   a_14r   r   r   _TamilStemmer__r_fix_endingsr&   r
   r
   r   Z__r_remove_question_suffixes   s$    

 z)TamilStemmer.__r_remove_question_suffixesc                 C   sX   |   sdS | j| _| j| _| j| _| tjdkr8dS | j| _| 	 sLdS | j| _dS )NFr   T)
rK   r   r.   r/   r   r0   r   a_15r   r$   r   r
   r
   r   Z__r_remove_command_suffixes	  s    z(TamilStemmer.__r_remove_command_suffixesc                 C   sh   |   sdS | j| _| j| _| j| _| ds2dS | j| _| dsHdS | j| _| j}|   || _dS )NFu	   ும்r!   T)	rK   r   r.   r/   r   r4   r   r   r   r&   r
   r
   r   Z__r_remove_um  s    

zTamilStemmer.__r_remove_umc                 C   s   |   sdS | j| _| j| _| j| _| tj}|dkr<dS | j| _|dkr\| 	dsdS nn|dkr| j| j }z| tj
dkrt W dS  tk
r   Y nX | j| | _| 	dsdS n|  sdS | j| _|   dS )NFr   r   r!   r   T)rK   r   r.   r/   r   r0   r   a_17r   r   a_16r   r$   rM   rJ   r
   r
   r   Z__r_remove_common_word_endings)  s8    
 
z+TamilStemmer.__r_remove_common_word_endingsc                 C   sJ  d| _ |  sdS | j| _| j| _z| j| j }z| j| j }| j| _| tj}|dkrdt	 | j| _
|dkr|  sW W dS n|dkr| dsW W dS n|dkr| j| j }z| dst t	 W n tk
r   Y nX | j| | _| ds<W W dS n,|dkrFt| jd	k r0t	 | ds<W W dS n|d
kr| j| j }z"| tjdkrvt t	 W n tk
r   Y nX | j| | _| ds<W W dS n|dkr(| j| j }z"| tjdkrt t	 W n tk
r   Y nX | j| | _|  s<W W dS n| ds<W W dS | j| | _t W n t	k
rf   Y nX | j| | _| j| j }| j| _| dsW dS z| j| j }z\| j| j }	z"| tjdkrt t W n tk
r   Y nX | j|	 | _t W n tk
r   Y nX | j| | _| j| j }
| tjdkrNW W dS | dsbW W dS | j|
 | _W n tk
r   Y nX | j| _
| dsW dS | j| | _W n tk
r   Y nX d| _ | j| j }z8| j| _| dst | j| _
| dsW dS W n tk
r(   Y nX | j| | _| j| _|   dS )NFr   r   r   r!   r      மr   r,   r)   r*      ிr+   T	   ின்)r3   rK   r   r.   r/   r   r0   r   a_20r   r   r$   r   r4   r5   r   r   a_18r7   a_19r=   r   a_21r?   r;   r:   a_22lab8rM   )r	   r   r   r   rA   rB   rC   rD   rE   v_8v_9v_10r
   r
   r   Z__r_remove_vetrumai_urupukalH  s    



 



 


 


 
 
   
 z)TamilStemmer.__r_remove_vetrumai_urupukalc                 C   s@   | j }z|  st W q W n tk
r0   Y nX || _ q<q dS r   )r   $_TamilStemmer__r_remove_tense_suffixr   r&   r
   r
   r   Z__r_remove_tense_suffixes  s     z&TamilStemmer.__r_remove_tense_suffixesc           	      C   s  d| _ |  sdS | j| _| j| _| j| j }z| j| j }| j| _| tj}|dkr`t	 | j| _
|dkr|  s~W dS n|dkr| j| j }z | tjdkrt t	 W n tk
r   Y nX | j| | _|  sW dS n0|dkrX| j| j }z"| tjdkrt t	 W n tk
r8   Y nX | j| | _|  sW dS n|dkr| j| j }z| dst t	 W n tk
r   Y nX | j| | _| dsW dS nX|d	kr| dsW dS n:| j| j }| dst	 | j| | _|  sW dS d
| _ | j| | _W n t	k
rD   Y nX | j| | _| j| j }zB| j| _| tjdkrt | j| _
|  sW dS d
| _ W n tk
r   Y nX | j| | _| j| _|   | j sdS d
S )NFr   r   r   r   r      சr!   r)   T)B_found_a_matchrK   r   r.   r/   r   r0   r   a_25r   r   r$   a_23r   a_24r5   r4   r7   r   a_26r=   rM   )	r	   r   r   r   rA   rB   rC   rD   rE   r
   r
   r   Z__r_remove_tense_suffix  s    

 


 


 

 

 z$TamilStemmer.__r_remove_tense_suffixc                 C   s   d| _ | j}|   || _|  s&dS | j}|   || _| j}|   || _| j}|   || _| j}|   || _| j}|   || _| j}| 	  || _| j}| 
  || _| j}	|   |	| _| j}
|   |
| _dS )NFT)r3   r   r   rK   )_TamilStemmer__r_remove_question_prefixes(_TamilStemmer__r_remove_pronoun_prefixes)_TamilStemmer__r_remove_question_suffixes_TamilStemmer__r_remove_um+_TamilStemmer__r_remove_common_word_endings)_TamilStemmer__r_remove_vetrumai_urupukal%_TamilStemmer__r_remove_plural_suffix(_TamilStemmer__r_remove_command_suffixes&_TamilStemmer__r_remove_tense_suffixes)r	   r   r   rA   rB   rC   rD   rE   rZ   r[   r\   r
   r
   r   _stem  sD    zTamilStemmer._stemu   வுr   u   வூr   u   வொr   u   வோr   u   கu   ஙr^   u   ஞu   தu   நu   பrQ   u   யu   வrR   u   ீr+   u   ாu   ுu   ூu   ெu   ே r   r!   u	   ந்தu   னுr-   u	   ுக்r,   u   ுக்க்u   ட்க்u   ற்க்u   ங்	   u   ட்ட்r)   u   த்த்r*   u   ந்த்u   ந்u   ட்ப்u   ய்u   ன்ற்u   வ்u   டu   றu   ணu   னu   ரu   லu   ளu   ழu   அu   இr   u	   கள்u   ுங்கள்u   ட்கள்u   ற்கள்u   ோu   பிu   விu   பட்டu   பட்டணu	   தானu   படிதானu   ெனu   ாகியu   குரியu   ுடையu	   ல்லu   ுள்ளu	   ாகிu	   படிu   ின்றிu   பற்றிu	   படுu   விடுu   பட்டுu   விட்டுu   பட்டதுu   ென்றுu	   ுடைu   ில்லைu   ுடன்u   ிடம்u   ெல்லாம்u   ெனும்u	   விடu	   ொடுu	   ோடுu   துu   ிருந்துu   ின்றுu   னைu	   கண்rS   u   முன்u	   ிற்u   மேற்r(   u   ாமல்   u	   ால்u	   ில்u   மேல்u	   ுள்u   கீழ்u   ஆu   ஈr   r    u   ஏu   ஐr   r   u   ஔu   குu   ிற்றுu   வைu	   னன்u	   பன்u	   வன்u	   ான்u   னான்u   மின்u   னென்u	   ேன்u	   னம்u	   பம்u	   ாம்u   கும்u   டும்u   தும்u   றும்u	   ெம்u	   ேம்u	   ோம்u	   ாய்u	   னர்u	   பர்u   ீயர்u	   வர்u	   ார்u   னார்#   u   மார்u   கொண்டிர்u   னிர்u	   ீர்u	   னள்u	   பள்u	   வள்u	   ாள்u   னாள்,   u	   கிறu   கின்றu   ாநின்றu   கிற்u   கின்ற்u   ாநின்ற்N)1__name__
__module____qualname____doc__r3   r_   rK   r%   rM   rd   r   re   rj   rf   rk   rg   rh   ri   rl   r]   rm   r   r   r#   r2   r6   r8   r1   r9   r<   r>   r@   rF   rG   rI   rH   rL   rN   rP   rO   rU   rV   rT   rW   rX   ra   rb   r`   rc   r
   r
   r
   r   r      sd  y#mS%



































































































































































































































































2





r   c                   @   s   e Zd ZdS )r   Nrt   ru   rv   r
   r
   r
   r   r     s    r   c                   @   s   e Zd ZdS )r   Nrx   r
   r
   r
   r   r     s    r   c                   @   s   e Zd ZdS )r5   Nrx   r
   r
   r
   r   r5     s    r5   c                   @   s   e Zd ZdS )r7   Nrx   r
   r
   r
   r   r7     s    r7   c                   @   s   e Zd ZdS )r=   Nrx   r
   r
   r
   r   r=     s    r=   c                   @   s   e Zd ZdS )r:   Nrx   r
   r
   r
   r   r:     s    r:   c                   @   s   e Zd ZdS )r;   Nrx   r
   r
   r
   r   r;     s    r;   c                   @   s   e Zd ZdS )r?   Nrx   r
   r
   r
   r   r?     s    r?   c                   @   s   e Zd ZdS )rY   Nrx   r
   r
   r
   r   rY     s    rY   N)Zbasestemmerr   Zamongr   r   BaseExceptionr   r   r5   r7   r=   r:   r;   r?   rY   r
   r
   r
   r   <module>   s$          