U
    YShc5                     @   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dS )   )BaseStemmer)Amongc                /   @   s  e Zd ZdZdddddddd	d
dddddh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/d0edd/d1gZed2d/d/ed3d/d/ed4d/d/ed5d/d/ed6d/d/ed7d/d/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dHd/d/gZedId/d0edJd/d0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/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/ed_d`d/edadbd/edcd`d/eddded/edfded/edgd`d/edhd`d/edid/d/edjd/d/edkd/d/edldmd/edndmd/edodmd/edpdqd/edrdqd/edsdqd/edtdmd/edudmd/edvdmd/edwd/d/edxd/d/edyd/d/edzd/d/ed{d/d/g,Zed|d/d1ed}d/d0ed~d/d1gZedd/d0eddd0eddd1edd/d0eddd0edddgZedd/d0edd/d0gZedd/dedddedddedddeddd0eddd1edddgZedd/d0edddeddd1edd/d0eddd0eddd0eddd0eddd0edddeddd1eddd0eddd1gZedd/d0eddd0edd/d0edd1d0edd1d0edd1d0edd1d1edd1dedd1d0edd/d0eddd0edd/d0eddd0eddd1edddeddd0edd/d0eddd0eddd1edd/d0edd`d0eddbdedd/d0edded0edded0edded0edded1eddededd/d0edd/d1edd/dgZedd/d0eddd0edd0d0eddd0eddd0eddd1edddedd/d0eddd0eddd0eddd0eddd0eddd1edddedd/d0eddd0eddd0edddedd/d0eddd0edd`d0eddd0eddd0eddd1edddedd/d0eddd0eddd0eddd0eddd0eddd1edddedd/d0eddqd0edd/d1edd/d0eddd0eddd0eddd0eddd0eddd1edddg*Z dS )HungarianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from hungarian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiou   á   é   í   ó   öu   ő   ú   üu   ű    c                 C   s   | j | _z| j}zj| tjs$t | j}z,| tjs>t |  jd7  _| j| _W n tk
rj   Y nX || _t	 W n tk
r   Y nX || _| 
tjsW dS |  jd7  _| j| _W n t	k
r   Y nX dS )Nr   FT)limitI_p1cursorZin_groupingr   g_vlab1Zgo_in_groupinglab2lab0Zgo_out_grouping)selfv_1v_2 r   T/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/hungarian_stemmer.pyZ__r_mark_regions   s4     
  z!HungarianStemmer.__r_mark_regionsc                 C   s   | j | jkS )N)r   r   r   r   r   r   Z__r_R1+   s    zHungarianStemmer.__r_R1c                 C   s^   | j | _| tj}|dkr dS | j | _|  s4dS |dkrL| dsZdS n| dsZdS dS )Nr   Fr   r   r   T)r   ketfind_among_br   a_0bra_HungarianStemmer__r_R1
slice_fromr   Z	among_varr   r   r   Z__r_v_ending.   s    

zHungarianStemmer.__r_v_endingc                 C   s0   | j | j }| tjdkr dS | j | | _dS Nr   FT)r   r   r    r   a_1)r   r   r   r   r   Z
__r_double>   s
    zHungarianStemmer.__r_doublec                 C   s\   | j | jkrdS |  j d8  _ | j | _| j | jkr6dS |  j d8  _ | j | _|  sXdS dS )NFr   T)r   limit_backwardr   r"   	slice_delr   r   r   r   Z__r_undoubleE   s    zHungarianStemmer.__r_undoublec                 C   sX   | j | _| tjdkrdS | j | _|  s0dS |  s<dS |  sHdS | 	 sTdS dS r&   )
r   r   r    r   a_2r"   r#   _HungarianStemmer__r_doubler)   _HungarianStemmer__r_undoubler   r   r   r   Z__r_instrumS   s    zHungarianStemmer.__r_instrumc                 C   sL   | j | _| tjdkrdS | j | _|  s0dS |  s<dS |  sHdS dS r&   )	r   r   r    r   a_3r"   r#   r)   _HungarianStemmer__r_v_endingr   r   r   r   Z__r_casec   s    zHungarianStemmer.__r_casec                 C   s^   | j | _| tj}|dkr dS | j | _|  s4dS |dkrL| dsZdS n| dsZdS dS )Nr   Fr   r   r   T)r   r   r    r   a_4r"   r#   r$   r%   r   r   r   Z__r_case_specialq   s    

z!HungarianStemmer.__r_case_specialc                 C   st   | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  spdS n&|dkrb| dspdS n| dspdS dS Nr   Fr      r   r   T)	r   r   r    r   a_5r"   r#   r)   r$   r%   r   r   r   Z__r_case_other   s     

zHungarianStemmer.__r_case_otherc                 C   sX   | j | _| tjdkrdS | j | _|  s0dS |  s<dS |  sHdS | 	 sTdS dS r&   )
r   r   r    r   a_6r"   r#   r+   r)   r,   r   r   r   r   Z__r_factive   s    zHungarianStemmer.__r_factivec                 C   st   | j | _| tj}|dkr dS | j | _|  s4dS |dkrL| dspdS n$|dkrd| dspdS n|  spdS dS )Nr   Fr   r   r1   r   T)	r   r   r    r   a_7r"   r#   r$   r)   r%   r   r   r   Z
__r_plural   s     

zHungarianStemmer.__r_pluralc                 C   st   | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  spdS n&|dkrb| dspdS n| dspdS dS )Nr   Fr   r1   r   r   T)	r   r   r    r   a_8r"   r#   r)   r$   r%   r   r   r   Z	__r_owned   s     

zHungarianStemmer.__r_ownedc                 C   st   | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  spdS n&|dkrb| dspdS n| dspdS dS r0   )	r   r   r    r   a_9r"   r#   r)   r$   r%   r   r   r   Z__r_sing_owner   s     

zHungarianStemmer.__r_sing_ownerc                 C   st   | j | _| tj}|dkr dS | j | _|  s4dS |dkrJ|  spdS n&|dkrb| dspdS n| dspdS dS r0   )	r   r   r    r   a_10r"   r#   r)   r$   r%   r   r   r   Z__r_plur_owner   s     

zHungarianStemmer.__r_plur_ownerc                 C   sP  | j }|   || _ | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }| 	  | j| | _ | j| j  }| 
  | j| | _ | j| j  }	|   | j|	 | _ | j| j  }
|   | j|
 | _ | j| _ dS )NT)r   !_HungarianStemmer__r_mark_regionsr(   r   _HungarianStemmer__r_instrum_HungarianStemmer__r_case!_HungarianStemmer__r_case_special_HungarianStemmer__r_case_other_HungarianStemmer__r_factive_HungarianStemmer__r_owned_HungarianStemmer__r_sing_owner_HungarianStemmer__r_plur_owner_HungarianStemmer__r_plural)r   r   r   Zv_3Zv_4Zv_5Zv_6Zv_7Zv_8Zv_9Zv_10r   r   r   _stem   sD    zHungarianStemmer._stemr   r1   ZbbccddffZggZjjkkZllmmnnppZrrZccsssZzzsttZvvZggyZllyZnnyttyZsszzzalelbarabereZigZnakZnekvalZvelZulu   nálu   nélu   bólu   rólu   tólu   ülu   bőlu   rőlu   tőlnZan   Zban   enZben   u   képpenonu   önu   képpZkortat   etu   kéntu   anként    u   enkéntu   onkéntZotu   értu   ötZhezZhozu   hözu   váu   véu   ánu   énu   ánkéntZstulZastulu   ástulu   stülu   estül   u   éstülkZakZekoku   áku   éku   öku   éiu   áéiu   ééiu   kéu   aké   u   ekéu   okéu   ákéu   ékéu   ökéu   ééjadadZedZodu   ádu   édu   ödZje	   ZnkZunk   u   ánku   énku   ünkukZjuk   u   ájuk   u   üku   jüku   éjükmamZemomu   ámu   émidZaidZjaidZeidZjeidu   áidu   éidZai   Zjai   eiZjei
   u   áiZitekZeitek   Zjeitek   u   éitekikZaik   ZjaikZeikZjeik   u   áiku   éikZinkZaink   Zjaink   ZeinkZjeink   u   áinku   éinkZaitokZjaitoku   áitokZimZaim#   Zjaim$   ZeimZjeim&   u   áimu   éimN)!__name__
__module____qualname____doc__r   r   r8   r#   r.   r+   r,   r9   r:   r;   r<   r=   rA   r>   r?   r@   rB   r   r!   r'   r*   r-   r/   r2   r3   r4   r5   r6   r7   r   r   r   r   r      s   %






































































0





























































#









































r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r     s    r   c                   @   s   e Zd ZdS )r   Nr   r   r   r   r   r     s    r   N)	Zbasestemmerr   Zamongr   r   BaseExceptionr   r   r   r   r   r   r   <module>   s      d