
    1 f                     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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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          Z ed0dd           ed1dd           ed2dd           ed3dd          gZ ed4dd           ed5dd           ed6dd           ed7dd           ed8dd          gZg d9Zg d:Z	g d;Z
dZdZd<Zd= Zd> Zd? Zd@ ZdA ZdB ZdCS )DDanishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    hedr   ethed    eredeerede   endeerende   eneerneereenheden
   erenerheder   erers   heds   esendes   erendes   eneserneseresenshedens   erensersetserets   eteret   gddtgtktigligeligelsu   løst)w      r<   r   )   A   r    r   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   0   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        dd          sdS |                     t
          j        dd          sdS | xj        dz  c_        | j        | _        	 | j        | j        k     st                      | j        | _        n# t          $ r Y nw xY wdS )Nr   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      T/var/www/equiseq/venv/lib/python3.11/site-packages/snowballstemmer/danish_stemmer.py__r_mark_regionszDanishStemmer.__r_mark_regionsI   s    J	kK!Otz>>5;##M$5r3?? 	5""=#4b#>> 	5qK		9tx''ffDIITTts   (*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 n9| 	                    t
          j
        dd          sdS |                                 sdS dS )NFr
   r   rG      T)rK   rJ   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_ending)rQ   v_2	among_vars      rT   __r_main_suffixzDanishStemmer.__r_main_suffix_   s    ;""5!"i;%%m&788	>>"%D5;!>>>>## u %%m&>CHH 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 )NFr
   r   T)
rI   rK   rJ   rX   rY   rZ   r   a_1r\   r]   )rQ   rR   v_3s      rT   __r_consonant_pairz DanishStemmer.__r_consonant_pairw   s    j4;&;""5!"i;].//144"%D5;!j3&;$---5q;~~ 	5trc   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str8   Fr
   r   u   løsT)rI   rK   rY   eq_s_brP   r\   r]   rJ   rX   rZ   r   a_2 _DanishStemmer__r_consonant_pair
slice_from)rQ   rR   rf   ra   v_4s        rT   __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??;// uts   A2B 
BBc                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j        dd          s	|| _        dS | j         | _        |                                 | _	        | j	        dk    rdS || _        | 
                    | j	                  sdS |                                 sdS dS )NFb   z   rE   T)rK   rJ   rX   rY   r^   r   g_cr\   slice_toS_chrj   r]   )rQ   r`   s     rT   __r_undoublezDanishStemmer.__r_undouble   s    ;""5!"i;!!-"3R== 	"%D5;MMOO	9??5!{{49%% 	5~~ 	5trc   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)rK   _DanishStemmer__r_mark_regionsrX   rI   _DanishStemmer__r_main_suffixrl   _DanishStemmer__r_other_suffix_DanishStemmer__r_undouble)rQ   rR   r`   rf   rn   v_5s         rT   _stemzDanishStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&j4;&j3&)trc   N)__name__
__module____qualname____doc__r   r[   re   rk   rs   rN   r_   rL   rJ   ru   rx   ry   rl   rz   r{   r}    rc   rT   r   r      s\        
!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!lB""C 

C
I
I
ICJJJJ
CDD  ,  0  ,# # #J  *    rc   r   c                       e Zd ZdS )rP   N)r~   r   r   r   rc   rT   rP   rP      s          rc   rP   N)basestemmerr   amongr   r   BaseExceptionrP   r   rc   rT   <module>r      s    % $ $ $ $ $      S S S S SK S S Sl      =     rc   