ó
ed›]c           @   s,  d  d l  m Z d  d l m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   i   (   t   BaseStemmer(   t   Amongt   GermanStemmerc           B   sr  e  Z d  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 ƒ 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 d d d ƒ g 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 ƒ 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 d d d
 ƒ e d d d ƒ g Z d d  d! d d d d d d d d d d d d d d" d d# d" g Z	 d$ d% d g Z
 d$ d% d g Z d Z d Z d Z d& „  Z d' „  Z d( „  Z d) „  Z d* „  Z d+ „  Z d, „  Z RS(-   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u    iÿÿÿÿi   u   Ui    i   u   Yi   u   Ã¤i   u   Ã¶i   u   Ã¼u   eu   emu   enu   ernu   eru   su   esu   stu   estu   igu   lichu   endu   ungu   ischu   iku   heitu   keiti   iA   i   i   i    iu   i   c         C   s  |  j  } xö t r|  j  } yÅ yª |  j  } yS |  j  |  _ |  j d ƒ sT t ƒ  ‚ n  |  j  |  _ |  j d ƒ ss t St ƒ  ‚ Wn t k
 r n X| |  _  |  j  |  j	 k r¸ t
 ƒ  ‚ n  |  j  d 7_  Wn t k
 rÛ n Xw Wn t
 k
 ró n X| |  _  Pq W| |  _  xýt r
|  j  } yÌy±xªt rÏ|  j  } yM|  j t j d d ƒ s\t ƒ  ‚ n  |  j  |  _ yó |  j  } yk |  j d ƒ s’t ƒ  ‚ n  |  j  |  _ |  j t j d d ƒ sÂt ƒ  ‚ n  |  j d ƒ sÕt St ƒ  ‚ Wn t k
 ròn X| |  _  |  j d ƒ st ƒ  ‚ n  |  j  |  _ |  j t j d d ƒ sGt ƒ  ‚ n  |  j d	 ƒ sZt SWn t k
 rnn X| |  _  t ƒ  ‚ Wn t k
 r•n X| |  _  |  j  |  j	 k r½t ƒ  ‚ n  |  j  d 7_  q&WWn t k
 rän XwWn t k
 rün X| |  _  PqWt S(
   Nu   ÃŸu   ssi   ia   iü   u   uu   Uu   yu   Y(   t   cursort   Truet   brat   eq_st   lab2t   kett
   slice_fromt   Falset   lab1t   limitt   lab0t   in_groupingR   t   g_vt   lab5t   lab7t   lab6t   lab4t   lab3(   t   selft   v_1t   v_2t   v_3t   v_4t   v_5t   v_6(    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_preludeA   sš    				 	  							 	 	 	  	c         C   su  |  j  |  _ |  j  |  _ |  j } |  j d } d | k sI | |  j  k rM t S| |  _ |  j |  _ | |  _ |  j t j d d ƒ s‡ t S|  j d 7_ |  j	 t j d d ƒ s² t S|  j d 7_ |  j |  _ y. |  j |  j k  sî t
 ƒ  ‚ n  |  j |  _ Wn t
 k
 rn X|  j t j d d ƒ s+t S|  j d 7_ |  j	 t j d d ƒ sVt S|  j d 7_ |  j |  _ t S(   Ni   i    ia   iü   i   (   R   t   I_p1t   I_p2R   R
   t   I_xt   go_out_groupingR   R   t   go_in_groupingR   R   (   R   R   t   c(    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_mark_regions    s<    			 c         C   sE  x>t  r@|  j } y|  j |  _ |  j t j ƒ } | d k rK t ƒ  ‚ n  |  j |  _ | d k ry |  j d ƒ st	 Sn¢ | d k r› |  j d ƒ st	 Sn€ | d k r½ |  j d ƒ st	 Sn^ | d k rß |  j d	 ƒ st	 Sn< | d
 k r|  j |  j
 k r	t ƒ  ‚ n  |  j d 7_ n  w Wn t k
 r2n X| |  _ Pq Wt  S(   Ni    i   u   yi   u   ui   u   ai   u   oi   (   R   R   R   t
   find_amongR   t   a_0R   R   R	   R
   R   (   R   R   t	   among_var(    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_postludeÌ   s<    		 	c         C   s   |  j  |  j k s t St S(   N(   R   R   R
   R   (   R   (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_R1ú   s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R
   R   (   R   (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_R2ÿ   s    c         C   s-  |  j  |  j } y…|  j |  _ |  j t j ƒ } | d k rI t ƒ  ‚ n  |  j |  _ |  j ƒ  sm t ƒ  ‚ n  | d k rŒ |  j	 ƒ  s”t
 Sn| d k rQ|  j	 ƒ  s¨ t
 S|  j  |  j } y‚ |  j |  _ |  j d ƒ sò |  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j d ƒ s)|  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  s9t
 SWq”t k
 rMq”XnC | d k r”|  j t j d d ƒ st ƒ  ‚ n  |  j	 ƒ  s”t
 Sn  Wn t k
 r¨n X|  j  | |  _ |  j  |  j } y |  j |  _ |  j t j ƒ } | d k rt ƒ  ‚ n  |  j |  _ |  j ƒ  s&t ƒ  ‚ n  | d k rE|  j	 ƒ  sÈt
 Snƒ | d k rÈ|  j t j d d ƒ sut ƒ  ‚ n  |  j d } |  j | k s | |  j  k r¬t ƒ  ‚ n  | |  _ |  j	 ƒ  sÈt
 Sn  Wn t k
 rÜn X|  j  | |  _ |  j  |  j } y|  j |  _ |  j t j ƒ } | d k r6t ƒ  ‚ n  |  j |  _ |  j ƒ  sZt ƒ  ‚ n  | d k rˆ|  j	 ƒ  svt
 S|  j  |  j } yë |  j |  _ |  j d	 ƒ sÀ|  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j  |  j } y8 |  j d
 ƒ sút ƒ  ‚ n  |  j  | |  _ t ƒ  ‚ Wn t k
 r'n X|  j  | |  _ |  j ƒ  s`|  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  spt
 SWqt k
 r„qXn|| d k r|  j  |  j }	 y( |  j d
 ƒ sÂt ƒ  ‚ n  t ƒ  ‚ Wn t k
 rßn X|  j  |	 |  _ |  j	 ƒ  st
 Sn| d k r9|  j	 ƒ  st
 S|  j  |  j }
 yó |  j |  _ y‹ |  j  |  j } y( |  j d ƒ sot ƒ  ‚ n  t ƒ  ‚ Wn t k
 rŒn X|  j  | |  _ |  j d ƒ sÈ|  j  |
 |  _ t ƒ  ‚ n  Wn t k
 rÜn X|  j |  _ |  j ƒ  s|  j  |
 |  _ t ƒ  ‚ n  |  j	 ƒ  s!t
 SWqt k
 r5qXnË | d k r|  j	 ƒ  sUt
 S|  j  |  j } yˆ |  j |  _ |  j t j ƒ d k r¨|  j  | |  _ t ƒ  ‚ n  |  j |  _ |  j ƒ  sÜ|  j  | |  _ t ƒ  ‚ n  |  j	 ƒ  sìt
 SWqt k
 r qXn  Wn t k
 rn X|  j  | |  _ t S(   Ni    i   i   u   su   nisi   ib   it   u   igu   eu   eru   eni   (   R   R   R   t   find_among_bR   t   a_1R   R   t   _GermanStemmer__r_R1t	   slice_delR
   t   eq_s_bR   t   in_grouping_bt
   g_s_endingt   a_2R   t   g_st_endingt   limit_backwardt   a_4R   t   _GermanStemmer__r_R2R   R   R   t   lab9t   lab8R   t   a_3t   lab10R   (   R   R   R&   R   R   R"   R   R   R   t   v_7t   v_8t   v_9t   v_10(    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   __r_standard_suffix  s8     	         c         C   s†   |  j  } |  j ƒ  | |  _  |  j  } |  j ƒ  | |  _  |  j  |  _ |  j |  _  |  j ƒ  |  j |  _  |  j  } |  j ƒ  | |  _  t S(   N(   R   t   _GermanStemmer__r_preludet   _GermanStemmer__r_mark_regionsR3   R   t!   _GermanStemmer__r_standard_suffixt   _GermanStemmer__r_postludeR   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   _stemí  s    	
		
	
	
	(   t   __name__t
   __module__t   __doc__R   R%   R+   R1   R8   R4   R   R0   R2   R   R   R   R?   R@   RB   R,   R5   RA   RC   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR      sR   B	_	,	.			éR   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR     s    R7   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR7      s    R6   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR6   #  s    R9   c           B   s   e  Z RS(    (   RD   RE   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyR9   &  s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR   R   R   R   R   R   R   R   R7   R6   R9   (    (    (    s=   lib/python2.7/site-packages/snowballstemmer/german_stemmer.pyt   <module>   s   ÿ ÿ 