1 ÿþ *
* P o r t o f S n o w b a l l s t e m m e r s o n C #
* O r i g i n a l s t e m m e r s c a n b e f o u n d o n h t t p : / / s n o w b a l l . t a r t a r u s . o r g
* L i c e n c e s t i l l B S D : h t t p : / / s n o w b a l l . t a r t a r u s . o r g / l i c e n s e . p h p
*
* M o s t o f s t e m m e r s a r e p o r t e d f r o m J a v a b y I v e o n i k S y s t e m s l t d . ( w w w . i v e o n i k . c o m )
* /
u s i n g S y s t e m ;
u s i n g S y s t e m . C o l l e c t i o n s . G e n e r i c ;
u s i n g S y s t e m . T e x t ;
u s i n g S y s t e m . R e f l e c t i o n ;
n a m e s p a c e T r a c e L a b . C o m p o n e n t s . D e v e l o p m e n t K i t . P r e p r o c e s s o r s . S t e m m e r s . S n o w b a l l . L a n g u a g e s
{
/ / / < s u m m a r y >
/ / / P r o v i d e s s t e m m e r o p e r a t i o n s f o r t h e S n o w b a l l s t e m m e r
/ / / < / s u m m a r y >
p u b l i c c l a s s S t e m m e r O p e r a t i o n s
{
/ / / < s u m m a r y >
/ / / C u r r e n t s t r i n g
/ / / < / s u m m a r y >
p r o t e c t e d S t r i n g B u i l d e r c u r r e n t ;
/ / / < s u m m a r y >
/ / / C u r s o r l o c a t i o n
/ / / < / s u m m a r y >
p r o t e c t e d i n t c u r s o r ;
/ / / < s u m m a r y >
/ / / L i m i t
/ / / < / s u m m a r y >
p r o t e c t e d i n t l i m i t ;
/ / / < s u m m a r y >
/ / / B a c k w a r d s l i m i t
/ / / < / s u m m a r y >
p r o t e c t e d i n t l i m i t _ b a c k w a r d ;
/ / / < s u m m a r y >
/ / / B r a ( ? )
/ / / < / s u m m a r y >
p r o t e c t e d i n t b r a ;
/ / / < s u m m a r y >
/ / / K e t ( ? )
/ / / < / s u m m a r y >
p r o t e c t e d i n t k e t ;
/ / / < s u m m a r y >
/ / / C o n s t r u c t o r
/ / / < / s u m m a r y >
p r o t e c t e d S t e m m e r O p e r a t i o n s ( )
{
c u r r e n t = n e w S t r i n g B u i l d e r ( ) ;
s e t C u r r e n t ( " " ) ;
}
/ / / < s u m m a r y >
/ / / S e t t h e c u r r e n t s t r i n g .
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " v a l u e " > V a l u e < / p a r a m >
p r o t e c t e d v o i d s e t C u r r e n t ( s t r i n g v a l u e )
{
/ / c u r r e n t . r e p l a c e ( 0 , c u r r e n t . l e n g t h ( ) , v a l u e ) ;
/ / c u r r e n t = c u r r e n t . R e p l a c e ( c u r r e n t . T o S t r i n g ( ) , v a l u e ) ;
/ / c u r r e n t = S t r i n g B u f f e r R e p l a c e ( 0 , c u r r e n t . L e n g t h , c u r r e n t , v a l u e ) ;
/ / c u r r e n t = S t r i n g B u f f e r R e p l a c e ( 0 , v a l u e . L e n g t h , c u r r e n t , v a l u e ) ;
c u r r e n t . R e m o v e ( 0 , c u r r e n t . L e n g t h ) ;
c u r r e n t . A p p e n d ( v a l u e ) ;
c u r s o r = 0 ;
l i m i t = c u r r e n t . L e n g t h ;
l i m i t _ b a c k w a r d = 0 ;
b r a = c u r s o r ;
k e t = l i m i t ;
}
/ / / < s u m m a r y >
/ / / G e t t h e c u r r e n t s t r i n g .
/ / / < / s u m m a r y >
/ / / < r e t u r n s > V a l u e o f c u r r e n t s t r i n g < / r e t u r n s >
p r o t e c t e d s t r i n g g e t C u r r e n t ( )
{
s t r i n g r e s u l t = c u r r e n t . T o S t r i n g ( ) ;
/ / M a k e a n e w S t r i n g B u f f e r . I f w e r e u s e t h e o l d o n e , a n d a u s e r o f
/ / t h e l i b r a r y k e e p s a r e f e r e n c e t o t h e b u f f e r r e t u r n e d ( f o r e x a m p l e ,
/ / b y c o n v e r t i n g i t t o a S t r i n g i n a w a y w h i c h d o e s n ' t f o r c e a c o p y ) ,
/ / t h e b u f f e r s i z e w i l l n o t d e c r e a s e , a n d w e w i l l r i s k w a s t i n g a l a r g e
/ / a m o u n t o f m e m o r y .
/ / T h a n k s t o W o l f r a m E s s e r f o r s p o t t i n g t h i s p r o b l e m .
/ / c u r r e n t = n e w S t r i n g B u i l d e r ( ) ;
r e t u r n r e s u l t ;
}
/ / / < s u m m a r y >
/ / / C o p i e s s e t t i n g s f r o m a n o t h e r S t e m m e r O p e r a t i o n s o b j e c t .
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " o t h e r " > S t e m m e r O p e r a t i o n s o b j e c t < / p a r a m >
p r o t e c t e d v o i d c o p y _ f r o m ( S t e m m e r O p e r a t i o n s o t h e r )
{
c u r r e n t = o t h e r . c u r r e n t ;
c u r s o r = o t h e r . c u r s o r ;
l i m i t = o t h e r . l i m i t ;
l i m i t _ b a c k w a r d = o t h e r . l i m i t _ b a c k w a r d ;
b r a = o t h e r . b r a ;
k e t = o t h e r . k e t ;
}
/ / / < s u m m a r y >
/ / / I n g r o u p i n g ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t c h a r s < / p a r a m >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l i n _ g r o u p i n g ( c h a r [ ] s , i n t m i n , i n t m a x )
{
i f ( c u r s o r > = l i m i t ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r ] ;
i f ( c h > m a x | | c h < m i n ) r e t u r n f a l s e ;
/ / c h - = m i n ;
c h - = m i n ;
i f ( ( s [ c h > > 3 ] & ( 0 X 1 < < ( c h & 0 X 7 ) ) ) = = 0 ) r e t u r n f a l s e ;
c u r s o r + + ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / I n g r o u p i n g b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t c h a r s < / p a r a m >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l i n _ g r o u p i n g _ b ( c h a r [ ] s , i n t m i n , i n t m a x )
{
i f ( c u r s o r < = l i m i t _ b a c k w a r d ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r - 1 ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r - 1 ] ;
i f ( c h > m a x | | c h < m i n ) r e t u r n f a l s e ;
c h - = m i n ;
i f ( ( s [ c h > > 3 ] & ( 0 X 1 < < ( c h & 0 X 7 ) ) ) = = 0 ) r e t u r n f a l s e ;
c u r s o r - - ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / O u t g r o u p i n g ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t c h a r s < / p a r a m >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l o u t _ g r o u p i n g ( c h a r [ ] s , i n t m i n , i n t m a x )
{
i f ( c u r s o r > = l i m i t ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r ] ;
i f ( c h > m a x | | c h < m i n )
{
c u r s o r + + ;
r e t u r n t r u e ;
}
c h - = m i n ;
i f ( ( s [ c h > > 3 ] & ( 0 X 1 < < ( c h & 0 X 7 ) ) ) = = 0 )
{
c u r s o r + + ;
r e t u r n t r u e ;
}
r e t u r n f a l s e ;
}
/ / / < s u m m a r y >
/ / / O u t g r o u p i n g b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t c h a r s < / p a r a m >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l o u t _ g r o u p i n g _ b ( c h a r [ ] s , i n t m i n , i n t m a x )
{
i f ( c u r s o r < = l i m i t _ b a c k w a r d ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r - 1 ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r - 1 ] ;
i f ( c h > m a x | | c h < m i n )
{
c u r s o r - - ;
r e t u r n t r u e ;
}
c h - = m i n ;
i f ( ( s [ c h > > 3 ] & ( 0 X 1 < < ( c h & 0 X 7 ) ) ) = = 0 )
{
c u r s o r - - ;
r e t u r n t r u e ;
}
r e t u r n f a l s e ;
}
/ / / < s u m m a r y >
/ / / I n r a n g e ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l i n _ r a n g e ( i n t m i n , i n t m a x )
{
i f ( c u r s o r > = l i m i t ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r ] ;
i f ( c h > m a x | | c h < m i n ) r e t u r n f a l s e ;
c u r s o r + + ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / I n r a n g e b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l i n _ r a n g e _ b ( i n t m i n , i n t m a x )
{
i f ( c u r s o r < = l i m i t _ b a c k w a r d ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r - 1 ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r - 1 ] ;
i f ( c h > m a x | | c h < m i n ) r e t u r n f a l s e ;
c u r s o r - - ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / O u t r a n g e ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l o u t _ r a n g e ( i n t m i n , i n t m a x )
{
i f ( c u r s o r > = l i m i t ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r ] ;
i f ( ! ( c h > m a x | | c h < m i n ) ) r e t u r n f a l s e ;
c u r s o r + + ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / O u t r a n g e b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " m i n " > M i n < / p a r a m >
/ / / < p a r a m n a m e = " m a x " > M a x < / p a r a m >
/ / / < r e t u r n s > T r u e i f y e s , f a l s e o t h e r w i s e < / r e t u r n s >
p r o t e c t e d b o o l o u t _ r a n g e _ b ( i n t m i n , i n t m a x )
{
i f ( c u r s o r < = l i m i t _ b a c k w a r d ) r e t u r n f a l s e ;
/ / c h a r c h = c u r r e n t . c h a r A t ( c u r s o r - 1 ) ;
i n t c h = ( i n t ) c u r r e n t [ c u r s o r - 1 ] ;
i f ( ! ( c h > m a x | | c h < m i n ) ) r e t u r n f a l s e ;
c u r s o r - - ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / E q s ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s _ s i z e " > i n p u t s t r i n g s i z e < / p a r a m >
/ / / < p a r a m n a m e = " s " > i n p u t s t r i n g < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d b o o l e q _ s ( i n t s _ s i z e , s t r i n g s )
{
i f ( l i m i t - c u r s o r < s _ s i z e ) r e t u r n f a l s e ;
i n t i ;
f o r ( i = 0 ; i ! = s _ s i z e ; i + + )
{
i f ( c u r r e n t [ c u r s o r + i ] ! = s [ i ] ) r e t u r n f a l s e ;
/ / i f ( c u r r e n t [ c u r s o r + i ] ! = s [ i ] ) r e t u r n f a l s e ;
}
c u r s o r + = s _ s i z e ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / E q s b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s _ s i z e " > i n p u t s t r i n g s i z e < / p a r a m >
/ / / < p a r a m n a m e = " s " > i n p u t s t r i n g < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d b o o l e q _ s _ b ( i n t s _ s i z e , s t r i n g s )
{
i f ( c u r s o r - l i m i t _ b a c k w a r d < s _ s i z e ) r e t u r n f a l s e ;
i n t i ;
f o r ( i = 0 ; i ! = s _ s i z e ; i + + )
{
/ / i f ( c u r r e n t . c h a r A t ( c u r s o r - s _ s i z e + i ) ! = s . c h a r A t ( i ) ) r e t u r n f a l s e ;
i f ( c u r r e n t [ c u r s o r - s _ s i z e + i ] ! = s [ i ] ) r e t u r n f a l s e ;
}
c u r s o r - = s _ s i z e ;
r e t u r n t r u e ;
}
/ / / < s u m m a r y >
/ / / E q v ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t s t r i n g < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d b o o l e q _ v ( S t r i n g B u i l d e r s )
{
r e t u r n e q _ s ( s . L e n g t h , s . T o S t r i n g ( ) ) ;
}
/ / / < s u m m a r y >
/ / / E q v b ?
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t s t r i n g < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d b o o l e q _ v _ b ( S t r i n g B u i l d e r s )
{
r e t u r n e q _ s _ b ( s . L e n g t h , s . T o S t r i n g ( ) ) ;
}
i n t e r n a l i n t f i n d _ a m o n g ( A m o n g [ ] v , i n t v _ s i z e )
{
i n t i = 0 ;
i n t j = v _ s i z e ;
i n t c = c u r s o r ;
i n t l = l i m i t ;
i n t c o m m o n _ i = 0 ;
i n t c o m m o n _ j = 0 ;
b o o l f i r s t _ k e y _ i n s p e c t e d = f a l s e ;
w h i l e ( t r u e )
{
i n t k = i + ( ( j - i ) > > 1 ) ;
i n t d i f f = 0 ;
i n t c o m m o n = c o m m o n _ i < c o m m o n _ j ? c o m m o n _ i : c o m m o n _ j ; / / s m a l l e r
A m o n g w = v [ k ] ;
i n t i 2 ;
f o r ( i 2 = c o m m o n ; i 2 < w . s _ s i z e ; i 2 + + )
{
i f ( c + c o m m o n = = l )
{
d i f f = - 1 ;
b r e a k ;
}
d i f f = c u r r e n t [ c + c o m m o n ] - w . s [ i 2 ] ;
i f ( d i f f ! = 0 ) b r e a k ;
c o m m o n + + ;
}
i f ( d i f f < 0 )
{
j = k ;
c o m m o n _ j = c o m m o n ;
}
e l s e
{
i = k ;
c o m m o n _ i = c o m m o n ;
}
i f ( j - i < = 1 )
{
i f ( i > 0 ) b r e a k ; / / v - > s h a s b e e n i n s p e c t e d
i f ( j = = i ) b r e a k ; / / o n l y o n e i t e m i n v
/ / - b u t n o w w e n e e d t o g o r o u n d o n c e m o r e t o g e t
/ / v - > s i n s p e c t e d . T h i s l o o k s m e s s y , b u t i s a c t u a l l y
/ / t h e o p t i m a l a p p r o a c h .
i f ( f i r s t _ k e y _ i n s p e c t e d ) b r e a k ;
f i r s t _ k e y _ i n s p e c t e d = t r u e ;
}
}
w h i l e ( t r u e )
{
A m o n g w = v [ i ] ;
i f ( c o m m o n _ i > = w . s _ s i z e )
{
c u r s o r = c + w . s _ s i z e ;
i f ( w . m e t h o d = = n u l l ) r e t u r n w . r e s u l t ;
/ / b o o l r e s ;
/ / t r y
/ / {
/ / O b j e c t r e s o b j = w . m e t h o d . i n v o k e ( w . m e t h o d o b j e c t , n e w O b j e c t [ 0 ] ) ;
/ / r e s = r e s o b j . t o S t r i n g ( ) . e q u a l s ( " t r u e " ) ;
/ / }
/ / c a t c h ( I n v o c a t i o n T a r g e t E x c e p t i o n e )
/ / {
/ / r e s = f a l s e ;
/ / / / F I X M E - d e b u g m e s s a g e
/ / }
/ / c a t c h ( I l l e g a l A c c e s s E x c e p t i o n e )
/ / {
/ / r e s = f a l s e ;
/ / / / F I X M E - d e b u g m e s s a g e
/ / }
/ / c u r s o r = c + w . s _ s i z e ;
/ / i f ( r e s ) r e t u r n w . r e s u l t ;
}
i = w . s u b s t r i n g _ i ;
i f ( i < 0 ) r e t u r n 0 ;
}
}
/ / / / f i n d _ a m o n g _ b i s f o r b a c k w a r d s p r o c e s s i n g . S a m e c o m m e n t s a p p l y
i n t e r n a l i n t f i n d _ a m o n g _ b ( A m o n g [ ] v , i n t v _ s i z e )
{
i n t i = 0 ;
i n t j = v _ s i z e ;
i n t c = c u r s o r ;
i n t l b = l i m i t _ b a c k w a r d ;
i n t c o m m o n _ i = 0 ;
i n t c o m m o n _ j = 0 ;
b o o l f i r s t _ k e y _ i n s p e c t e d = f a l s e ;
w h i l e ( t r u e )
{
i n t k = i + ( ( j - i ) > > 1 ) ;
i n t d i f f = 0 ;
i n t c o m m o n = c o m m o n _ i < c o m m o n _ j ? c o m m o n _ i : c o m m o n _ j ;
A m o n g w = v [ k ] ;
i n t i 2 ;
f o r ( i 2 = w . s _ s i z e - 1 - c o m m o n ; i 2 > = 0 ; i 2 - - )
{
i f ( c - c o m m o n = = l b )
{
d i f f = - 1 ;
b r e a k ;
}
/ / d i f f = c u r r e n t . c h a r A t ( c - 1 - c o m m o n ) - w . s [ i 2 ] ;
d i f f = c u r r e n t [ c - 1 - c o m m o n ] - w . s [ i 2 ] ;
i f ( d i f f ! = 0 ) b r e a k ;
c o m m o n + + ;
}
i f ( d i f f < 0 )
{
j = k ;
c o m m o n _ j = c o m m o n ;
}
e l s e
{
i = k ;
c o m m o n _ i = c o m m o n ;
}
i f ( j - i < = 1 )
{
i f ( i > 0 ) b r e a k ;
i f ( j = = i ) b r e a k ;
i f ( f i r s t _ k e y _ i n s p e c t e d ) b r e a k ;
f i r s t _ k e y _ i n s p e c t e d = t r u e ;
}
}
w h i l e ( t r u e )
{
A m o n g w = v [ i ] ;
i f ( c o m m o n _ i > = w . s _ s i z e )
{
c u r s o r = c - w . s _ s i z e ;
i f ( w . m e t h o d = = n u l l ) r e t u r n w . r e s u l t ;
/ / b o o l e a n r e s ;
/ / t r y
/ / {
/ / O b j e c t r e s o b j = w . m e t h o d . i n v o k e ( w . m e t h o d o b j e c t ,
/ / n e w O b j e c t [ 0 ] ) ;
/ / r e s = r e s o b j . t o S t r i n g ( ) . e q u a l s ( " t r u e " ) ;
/ / }
/ / c a t c h ( I n v o c a t i o n T a r g e t E x c e p t i o n e )
/ / {
/ / r e s = f a l s e ;
/ / / / F I X M E - d e b u g m e s s a g e
/ / }
/ / c a t c h ( I l l e g a l A c c e s s E x c e p t i o n e )
/ / {
/ / r e s = f a l s e ;
/ / / / F I X M E - d e b u g m e s s a g e
/ / }
/ / c u r s o r = c - w . s _ s i z e ;
/ / i f ( r e s ) r e t u r n w . r e s u l t ;
}
i = w . s u b s t r i n g _ i ;
i f ( i < 0 ) r e t u r n 0 ;
}
}
/ / / < s u m m a r y >
/ / / t o r e p l a c e c h a r s b e t w e e n c _ b r a a n d c _ k e t i n c u r r e n t b y t h e c h a r s i n s .
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " c _ b r a " > < / p a r a m >
/ / / < p a r a m n a m e = " c _ k e t " > < / p a r a m >
/ / / < p a r a m n a m e = " s " > < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d i n t r e p l a c e _ s ( i n t c _ b r a , i n t c _ k e t , s t r i n g s )
{
i n t a d j u s t m e n t = s . L e n g t h - ( c _ k e t - c _ b r a ) ;
/ / c u r r e n t . r e p l a c e ( c _ b r a , c _ k e t , s ) ;
c u r r e n t = S t r i n g B u f f e r R e p l a c e ( c _ b r a , c _ k e t , c u r r e n t , s ) ;
l i m i t + = a d j u s t m e n t ;
i f ( c u r s o r > = c _ k e t ) c u r s o r + = a d j u s t m e n t ;
e l s e i f ( c u r s o r > c _ b r a ) c u r s o r = c _ b r a ;
r e t u r n a d j u s t m e n t ;
}
p r i v a t e S t r i n g B u i l d e r S t r i n g B u f f e r R e p l a c e ( i n t s t a r t , i n t e n d , S t r i n g B u i l d e r s , s t r i n g s 1 )
{
S t r i n g B u i l d e r s b = n e w S t r i n g B u i l d e r ( ) ;
f o r ( i n t i = 0 ; i < s t a r t ; i + + )
{
s b . I n s e r t ( s b . L e n g t h , s [ i ] ) ;
}
/ / f o r ( i n t i = 1 ; i < e n d - s t a r t + 1 ; i + + )
/ / {
s b . I n s e r t ( s b . L e n g t h , s 1 ) ;
/ / }
f o r ( i n t i = e n d ; i < s . L e n g t h ; i + + )
{
s b . I n s e r t ( s b . L e n g t h , s [ i ] ) ;
}
r e t u r n s b ;
/ / s t r i n g t e m p = s . T o S t r i n g ( ) ;
/ / t e m p = t e m p . S u b s t r i n g ( s t a r t - 1 , e n d - s t a r t + 1 ) ;
/ / s = s . R e p l a c e ( t e m p , s 1 , s t a r t - 1 , e n d - s t a r t + 1 ) ;
/ / r e t u r n s ;
}
/ / / < s u m m a r y >
/ / / S l i c e c h e c k
/ / / < / s u m m a r y >
p r o t e c t e d v o i d s l i c e _ c h e c k ( )
{
i f ( b r a < 0 | |
b r a > k e t | |
k e t > l i m i t | |
l i m i t > c u r r e n t . L e n g t h ) / / t h i s l i n e c o u l d b e r e m o v e d
{
/ / S y s t e m . e r r . p r i n t l n ( " f a u l t y s l i c e o p e r a t i o n " ) ;
/ / F I X M E : r e p o r t e r r o r s o m e h o w .
/ *
f p r i n t f ( s t d e r r , " f a u l t y s l i c e o p e r a t i o n : \ n " ) ;
d e b u g ( z , - 1 , 0 ) ;
e x i t ( 1 ) ;
* /
}
}
/ / / < s u m m a r y >
/ / / S l i c e f r o m
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t s t r i n g < / p a r a m >
p r o t e c t e d v o i d s l i c e _ f r o m ( s t r i n g s )
{
s l i c e _ c h e c k ( ) ;
r e p l a c e _ s ( b r a , k e t , s ) ;
}
/ / / < s u m m a r y >
/ / / S l i c e f r o m
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > I n p u t s t r i n g < / p a r a m >
p r o t e c t e d v o i d s l i c e _ f r o m ( S t r i n g B u i l d e r s )
{
s l i c e _ f r o m ( s . T o S t r i n g ( ) ) ;
}
/ / / < s u m m a r y >
/ / / S l i c e d e l e t e
/ / / < / s u m m a r y >
p r o t e c t e d v o i d s l i c e _ d e l ( )
{
s l i c e _ f r o m ( " " ) ;
}
/ / / < s u m m a r y >
/ / / I n s e r t
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " c _ b r a " > < / p a r a m >
/ / / < p a r a m n a m e = " c _ k e t " > < / p a r a m >
/ / / < p a r a m n a m e = " s " > < / p a r a m >
p r o t e c t e d v o i d i n s e r t ( i n t c _ b r a , i n t c _ k e t , s t r i n g s )
{
i n t a d j u s t m e n t = r e p l a c e _ s ( c _ b r a , c _ k e t , s ) ;
i f ( c _ b r a < = b r a ) b r a + = a d j u s t m e n t ;
i f ( c _ b r a < = k e t ) k e t + = a d j u s t m e n t ;
}
/ / / < s u m m a r y >
/ / / I n s e r t
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " c _ b r a " > < / p a r a m >
/ / / < p a r a m n a m e = " c _ k e t " > < / p a r a m >
/ / / < p a r a m n a m e = " s " > < / p a r a m >
p r o t e c t e d v o i d i n s e r t ( i n t c _ b r a , i n t c _ k e t , S t r i n g B u i l d e r s )
{
i n s e r t ( c _ b r a , c _ k e t , s . T o S t r i n g ( ) ) ;
}
/ / / < s u m m a r y >
/ / / C o p y t h e s l i c e i n t o t h e s u p p l i e d S t r i n g B u f f e r
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d S t r i n g B u i l d e r s l i c e _ t o ( S t r i n g B u i l d e r s )
{
s l i c e _ c h e c k ( ) ;
i n t l e n = k e t - b r a ;
/ / s . r e p l a c e ( 0 , s . l e n g t h ( ) , c u r r e n t . s u b s t r i n g ( b r a , k e t ) ) ;
/ / i n t l e n g h = s t r i n g . I s N u l l O r E m p t y ( s . T o S t r i n g ( ) ) ! = t r u e ? s . L e n g t h : 0 ;
/ / i f ( k e t = = c u r r e n t . L e n g t h ) k e t - - ;
/ / s t r i n g s s = c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( b r a , l e n ) ;
/ / S t r i n g B u f f e r R e p l a c e ( 0 , s . L e n g t h , s , s s ) ;
/ / r e t u r n s ;
r e t u r n S t r i n g B u f f e r R e p l a c e ( 0 , s . L e n g t h , s , c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( b r a , l e n ) ) ;
/ / r e t u r n S t r i n g B u f f e r R e p l a c e ( 0 , l e n g h , s , c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( b r a , k e t ) ) ;
/ / r e t u r n s ;
}
/ / / * C o p y t h e s l i c e i n t o t h e s u p p l i e d S t r i n g B u i l d e r * /
/ / p r o t e c t e d S t r i n g B u i l d e r s l i c e _ t o ( S t r i n g B u i l d e r s )
/ / {
/ / s l i c e _ c h e c k ( ) ;
/ / i n t l e n = k e t - b r a ;
/ / s . r e p l a c e ( 0 , s . l e n g t h ( ) , c u r r e n t . s u b s t r i n g ( b r a , k e t ) ) ;
/ / r e t u r n s ;
/ / }
/ / / < s u m m a r y >
/ / / A s s i g n t o
/ / / < / s u m m a r y >
/ / / < p a r a m n a m e = " s " > < / p a r a m >
/ / / < r e t u r n s > < / r e t u r n s >
p r o t e c t e d S t r i n g B u i l d e r a s s i g n _ t o ( S t r i n g B u i l d e r s )
{
/ / s . r e p l a c e ( 0 , s . l e n g t h ( ) , c u r r e n t . s u b s t r i n g ( 0 , l i m i t ) ) ;
/ / r e t u r n s ;
r e t u r n S t r i n g B u f f e r R e p l a c e ( 0 , s . L e n g t h , s , c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( 0 , l i m i t ) ) ;
}
/ / p r o t e c t e d S t r i n g B u i l d e r a s s i g n _ t o ( S t r i n g B u i l d e r s )
/ / {
/ / s . r e p l a c e ( 0 , s . l e n g t h ( ) , c u r r e n t . s u b s t r i n g ( 0 , l i m i t ) ) ;
/ / r e t u r n s ;
/ / }
/ / / *
/ / e x t e r n v o i d d e b u g ( s t r u c t S N _ e n v * z , i n t n u m b e r , i n t l i n e _ c o u n t )
/ / { i n t i ;
/ / i n t l i m i t = S I Z E ( z - > p ) ;
/ / / / i f ( n u m b e r > = 0 ) p r i n t f ( " % 3 d ( l i n e % 4 d ) : ' " , n u m b e r , l i n e _ c o u n t ) ;
/ / i f ( n u m b e r > = 0 ) p r i n t f ( " % 3 d ( l i n e % 4 d ) : [ % d ] ' " , n u m b e r , l i n e _ c o u n t , l i m i t ) ;
/ / f o r ( i = 0 ; i < = l i m i t ; i + + )
/ / { i f ( z - > l b = = i ) p r i n t f ( " { " ) ;
/ / i f ( z - > b r a = = i ) p r i n t f ( " [ " ) ;
/ / i f ( z - > c = = i ) p r i n t f ( " | " ) ;
/ / i f ( z - > k e t = = i ) p r i n t f ( " ] " ) ;
/ / i f ( z - > l = = i ) p r i n t f ( " } " ) ;
/ / i f ( i < l i m i t )
/ / { i n t c h = z - > p [ i ] ;
/ / i f ( c h = = 0 ) c h = ' # ' ;
/ / p r i n t f ( " % c " , c h ) ;
/ / }
/ / }
/ / p r i n t f ( " ' \ n " ) ;
/ / }
/ / * /
/ / } ;
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / M E T H O D S F O R C Z E C H S T E M M E R A G R E S S I V E / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / < s u m m a r y >
/ / / R e m o v e D e r i v a t i o n a l ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e D e r i v a t i o n a l ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
i f ( ( l e n > 8 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 6 , 6 ) . E q u a l s ( " o b i n e c " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 6 , 6 ) ;
r e t u r n ;
} / / l e n > 8
i f ( l e n > 7 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " i o n \ u 0 0 e 1 \ u 0 1 5 9 " ) )
{ / / - i o n á Y
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 4 , 4 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o v i s k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o v s t v " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o v i \ u 0 1 6 1 t " ) | | / / - o v i at
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o v n \ u 0 0 e d k " ) )
{ / / - o v n í k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 5 , 5 ) ;
r e t u r n ;
}
} / / l e n > 7
i f ( l e n > 6 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e 1 s e k " ) | | / / - á s e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " l o u n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " n o s t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " t e l n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " o v e c " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o v \ u 0 0 e d k " ) | | / / - o v í k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " o v t v " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " o v i n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 1 6 1 t i n " ) )
{ / / - at i n
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 4 , 4 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " e n i c " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " i n e c " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " i t e l " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
} / / l e n > 6
i f ( l e n > 5 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 1 r n " ) )
{ / / - á r n
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 1 b n k " ) )
{ / / - n k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i \ u 0 0 e 1 n " ) | | / / - i á n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i s t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i s k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i \ u 0 1 6 1 t " ) | | / / - i at
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i t b " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d r n " ) )
{ / / - í r n
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o c h " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o s t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o v n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o u n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o u t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o u \ u 0 1 6 1 " ) )
{ / / - o u a
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " u \ u 0 1 6 1 k " ) )
{ / / - u ak
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " k y n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 0 d a n " ) | | / / -
a n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " k \ u 0 0 e 1 \ u 0 1 5 9 " ) | | / / k á Y
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " n \ u 0 0 e 9 \ u 0 1 5 9 " ) | | / / n é Y
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " n \ u 0 0 e d k " ) | | / / - n í k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " c t v " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " s t v " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
} / / l e n > 5
i f ( l e n > 4 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 1 \ u 0 1 0 d " ) | | / / - á
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " a \ u 0 1 0 d " ) | | / / - a
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 1 n " ) | | / / - á n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " a n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 1 \ u 0 1 5 9 " ) | | / / - á Y
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " a s " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " e c " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " e n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 1 b n " ) | | / / - n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 9 \ u 0 1 5 9 " ) )
{ / / - é Y
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e d \ u 0 1 5 9 " ) | | / / - í Y
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i c " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e d n " ) | | / / - í n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i v " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o b " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o v " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o \ u 0 1 4 8 " ) )
{ / / - o H
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " u l " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " y n " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 0 d k " ) | | / / -
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 0 d n " ) | | / / -
n
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " d l " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " n k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " t v " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " t k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " v k " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
} / / l e n > 4
i f ( l e n > 3 )
{
i f ( c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' c ' | |
c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' \ u 0 1 0 d ' | | / / -
c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' k ' | |
c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' l ' | |
c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' n ' | |
c u r r e n t . T o S t r i n g ( ) [ c u r r e n t . L e n g t h - 1 ] = = ' t ' )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
}
} / / l e n > 3
} / / r e m o v e D e r i v a t i o n a l
/ / / < s u m m a r y >
/ / / R e m o v e a u g m e n t a t i t i v e ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e A u g m e n t a t i v e ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
/ /
i f ( ( l e n > 6 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " a j z n " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 4 , 4 ) ;
r e t u r n ;
}
i f ( ( l e n > 5 ) & &
( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i z n " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i s k " ) ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( ( l e n > 4 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ 0 0 e 1 k " ) )
{ / / - á k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
}
/ / / < s u m m a r y >
/ / / R e m o v e d i m i n u t i v e ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e D i m i n u t i v e ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
/ /
i f ( ( l e n > 7 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " o u \ u 0 1 6 1 e k " ) )
{ / / - o u ae k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 5 , 5 ) ;
r e t u r n ;
}
i f ( l e n > 6 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " e \ u 0 1 0 d e k " ) | | / / - e
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e 9 \ u 0 1 0 d e k " ) | | / / - é
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " i \ u 0 1 0 d e k " ) | | / / - i
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e d \ u 0 1 0 d e k " ) | | / / í
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " e n e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e 9 n e k " ) | | / / - é n e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " i n e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e d n e k " ) )
{ / / - í n e k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e 1 \ u 0 1 0 d e k " ) | | / / á
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " a \ u 0 1 0 d e k " ) | | / / a
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " o \ u 0 1 0 d e k " ) | | / / o
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " u \ u 0 1 0 d e k " ) | | / / u
e k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " a n e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " o n e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " u n e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 0 e 1 n e k " ) )
{ / / - á n e k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 4 , 4 ) ;
r e t u r n ;
}
} / / l e n > 6
i f ( l e n > 5 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e \ u 0 1 0 d k " ) | | / / - e
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 9 \ u 0 1 0 d k " ) | | / / - é
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i \ u 0 1 0 d k " ) | | / / - i
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d \ u 0 1 0 d k " ) | | / / - í
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e n k " ) | | / / - e n k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 9 n k " ) | | / / - é n k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i n k " ) | | / / - i n k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d n k " ) )
{ / / - í n k
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 1 \ u 0 1 0 d k " ) | | / / - á
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a u 0 1 0 d k " ) | | / / - a
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o \ u 0 1 0 d k " ) | | / / - o
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " u \ u 0 1 0 d k " ) | | / / - u
k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a n k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o n k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " u n k " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 1 t k " ) | | / / - á t k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 1 n k " ) | | / / - á n k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " u \ u 0 1 6 1 k " ) )
{ / / - u ak
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
} / / l e n > 5
i f ( l e n > 4 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " e k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 9 k " ) | | / / - é k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e d k " ) | | / / - í k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i k " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 1 k " ) | | / / - á k
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " a k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o k " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " u k " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
}
}
i f ( ( l e n > 3 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " k " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
}
} / / r e m o v e D i m i n u t i v e s
/ / / < s u m m a r y >
/ / / R e m o v e c o m p a r a t i v e ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e C o m p a r a t i v e ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
/ /
i f ( ( l e n > 5 ) & &
( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e j \ u 0 1 6 1 " ) | | / / - e j a
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 1 b j \ u 0 1 6 1 " ) ) )
{ / / - j a
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
}
p r i v a t e v o i d p a l a t a l i s e ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " c i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " c e " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 0 d i " ) | | / / -
i
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 0 d e " ) )
{ / / -
e
c u r r e n t = S t r i n g B u f f e r R e p l a c e ( l e n - 2 , l e n , c u r r e n t , " k " ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " z i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " z e " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 7 e i " ) | | / / - ~i
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 7 e e " ) )
{ / / - ~e
c u r r e n t = S t r i n g B u f f e r R e p l a c e ( l e n - 2 , l e n , c u r r e n t , " h " ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 0 d t \ u 0 1 1 b " ) | | / / -
t
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 0 d t i " ) | | / / -
t i
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 0 d t \ u 0 0 e d " ) )
{ / / -
t í
c u r r e n t = S t r i n g B u f f e r R e p l a c e ( l e n - 3 , l e n , c u r r e n t , " c k " ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 6 1 t \ u 0 1 1 b " ) | | / / - at
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 6 1 t i " ) | | / / - at i
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 6 1 t \ u 0 0 e d " ) )
{ / / - at í
c u r r e n t = S t r i n g B u f f e r R e p l a c e ( l e n - 2 , l e n , c u r r e n t , " s k " ) ;
r e t u r n ;
}
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
} / / p a l a t a l i s e
/ / / < s u m m a r y >
/ / / R e m o v e p o s s e s s i v e s ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e P o s s e s s i v e s ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
i f ( l e n > 5 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o v " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 6 f v " ) )
{ / / - ov
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " i n " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
}
} / / r e m o v e P o s s e s s i v e s
/ / / < s u m m a r y >
/ / / R e m o v e c a s e ( C z e c h s t e m m e r a g r e s s i v e )
/ / / < / s u m m a r y >
p r o t e c t e d v o i d r e m o v e C a s e ( )
{
i n t l e n = c u r r e n t . L e n g t h ;
/ /
i f ( ( l e n > 7 ) & &
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 5 , 5 ) . E q u a l s ( " a t e c h " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 5 , 5 ) ;
r e t u r n ;
} / / l e n > 7
i f ( l e n > 6 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " \ u 0 1 1 b t e m " ) )
{ / / - t e m
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 4 , 4 ) . E q u a l s ( " a t \ u 0 1 6 f m " ) )
{ / / - a t om
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 4 , 4 ) ;
r e t u r n ;
}
}
i f ( l e n > 5 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e c h " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i c h " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d c h " ) )
{ / / - í c h
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 9 h o " ) | | / / - é h o
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 1 1 b m i " ) | | / / - m u
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e m i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 9 m u " ) | | / / - é m u c u r r e n t . s u b s t r i n g ( l e n - 3 , l e n ) . e q u a l s ( " e t e " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " e t i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i h o " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d h o " ) | | / / - í h o
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e d m i " ) | | / / - í m i
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " i m u " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 e 1 c h " ) | | / / - á c h
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a t a " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a t y " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 f d c h " ) | | / / - ý c h
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a m a " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " a m i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o v \ u 0 0 e 9 " ) | | / / - o v é
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " o v i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 3 , 3 ) . E q u a l s ( " \ u 0 0 f d m i " ) )
{ / / - ý m i
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 3 , 3 ) ;
r e t u r n ;
}
}
i f ( l e n > 4 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " e m " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " e s " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 9 m " ) | | / / - é m
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e d m " ) )
{ / / - í m
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 1 6 f m " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " a t " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 e 1 m " ) | | / / - á m
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o s " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " u s " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " \ u 0 0 f d m " ) | | / / - ý m
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " m i " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 2 , 2 ) . E q u a l s ( " o u " ) )
{
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 2 , 2 ) ;
r e t u r n ;
}
} / / l e n > 4
i f ( l e n > 3 )
{
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " e " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " i " ) )
{
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 0 e d " ) | | / / - é
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 1 1 b " ) )
{ / / -
p a l a t a l i s e ( ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " u " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " y " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 1 6 f " ) )
{ / / - o
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
}
i f ( c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " a " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " o " ) | |
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 0 e 1 " ) | | / / - á
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 0 e 9 " ) | | / / - é
c u r r e n t . T o S t r i n g ( ) . S u b s t r i n g ( l e n - 1 , 1 ) . E q u a l s ( " \ u 0 0 f d " ) )
{ / / - ý
c u r r e n t = c u r r e n t . R e m o v e ( l e n - 1 , 1 ) ;
r e t u r n ;
}
} / / l e n > 3
}
}
}
/ *