
    -Phz                     V    d dl mZ d dlmZ  G d de          Z G d de          ZdS )   )BaseStemmer)Amongc            	       ~   e Zd ZdZh dZh dZh dZdZdZdZ	d Z
d Zd	 Zd
 Zd Zd Zg  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           ed/d&d           ed0d1d           ed2d1d           ed3d&d           ed4d&d           ed5d6d           ed7dd           ed8d9d          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dAdd           edBdd$          gZdCS )DDanishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from danish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   bcdfghjklmnpqrstvwxz>	   aeiouy   å   æ   ø>   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r!        c                    | j         | _        | j        }| j        dz   }|| j         k    rdS || _        | j        | _        || _        |                     t
          j                  sdS | xj        dz  c_        |                     t
          j                  sdS | xj        dz  c_        | j        | _        	 | j        | j        k    rt                      | j        | _        n# t          $ r Y nw xY wdS )N   Fr   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1r   s      ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/snowballstemmer/danish_stemmer.py__r_mark_regionszDanishStemmer.__r_mark_regions   s    J	kK!Otz>>5;##M$566 	5q""=#455 	5qK		yDH$$ffDIITTts   4*C 
C,+C,c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        || _        |dk    r|                                 sdS n7| 	                    t
          j
                  sdS |                                 sdS dS NFr$   r   T)r*   r)   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_ending)r0   v_2	among_vars      r2   __r_main_suffixzDanishStemmer.__r_main_suffix/   s    ;""5!"i;%%m&788	>>"%D5;!>>>>## u %%m&>?? u>>## ut    c                    | j         | j        z
  }| j        | j        k     rdS | j        }| j        | _        | j        | _        |                     t          j                  dk    r	|| _        dS | j        | _        || _        | j         |z
  | _        | j        | j        k    rdS | xj        dz  c_        | j        | _        | 	                                sdS dS r5   )
r(   r*   r)   r6   r7   r8   r   a_1r:   r;   )r0   r1   v_3s      r2   __r_consonant_pairz DanishStemmer.__r_consonant_pairG   s    j4;&;""5!"i;].//144"%D5;!j3&;$---5q;~~ 	5trA   c                    | j         | j        z
  }	 | j        | _        |                     d          st	                      | j        | _        |                     d          st	                      |                                 sdS n# t          $ r Y nw xY w| j         |z
  | _        | j        | j        k     rdS | j        }| j        | _        | j        | _        | 	                    t          j                  }|dk    r	|| _        dS | j        | _        || _        |dk    rI|                                 sdS | j         | j        z
  }|                                  | j         |z
  | _        n|                     d          sdS dS )NstigFr$   r   u   løsT)r(   r*   r7   eq_s_br/   r:   r;   r)   r6   r8   r   a_2 _DanishStemmer__r_consonant_pair
slice_from)r0   r1   rD   r?   v_4s        r2   __r_other_suffixzDanishStemmer.__r_other_suffix]   s~   j4;&
	{DH;;u%% ff{DH;;u%% ff>>## u TTj3&;""5!"i;%%m&788	>>"%D5;!>>>>## u*t{*C##%%%*s*DKK??7++ uts   A2B 
BBc                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  s	|| _        dS | j         | _        |                                 | _	        | j	        dk    rdS || _        | 
                    | j	                  sdS |                                 sdS dS )NFr%   T)r*   r)   r6   r7   r<   r   g_cr:   slice_toS_chrI   r;   )r0   r>   s     r2   __r_undoublezDanishStemmer.__r_undouble   s    ;""5!"i;!!-"344 	"%D5;MMOO	9??5!{{49%% 	5~~ 	5trA   c                 "   | j         }|                                  || _         | j         | _        | j        | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | _         dS )NT)r*   _DanishStemmer__r_mark_regionsr6   r(   _DanishStemmer__r_main_suffixrK   _DanishStemmer__r_other_suffix_DanishStemmer__r_undouble)r0   r1   r>   rD   rM   v_5s         r2   _stemzDanishStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&j4;&j3&)trA   hedr   ethederedr   ereder'   endeerende   eneerneereenheden
   erenerheder   ererr      heds   esendes   erendes   eneserneseresenshedens   erensersetserets   eteret   gddtgtktrH   ligeligelsu   løstN)__name__
__module____qualname____doc__rP   r-   r=   r+   r)   rR   rU   rV   rK   rW   rX   rZ   r   r9   rC   rJ    rA   r2   r   r      sf        
 C  C  CC
C
C
CC K  K  KJ
CDD  .  0  ,# # #J  *  *!fb!!h1! 	gr1! 	dB	!
 	h1! 	gq!! 	iA! 	fa! 	gq!! 	fa! 	eR! 	hA! 	gr1! 	eR! 	hA!  	gr1!!" 	dB#!$ 	gr1%!& 	eR'!( 	hA)!* 	j"a  +!, 	gr1-!. 	hA/!0 	gr11!2 	fb!3!4 	iQ5!6 	hA7!8 	fb!9!: 	fb!;!< 	hA=!> 	eR?!@ 	gr1A!CH 	eReReReR	C 	eRfagq!fb!hACCCrA   r   c                       e Zd ZdS )r/   N)r   r   r   r   rA   r2   r/   r/      s          rA   r/   N)basestemmerr   amongr   r   BaseExceptionr/   r   rA   r2   <module>r      s    % $ $ $ $ $      T T T T TK T T Tn      =     rA   