#NEWLINE# def _step4( self , word ) : #NEWLINE# #INDENT# 'step4() takes off -ant, -ence etc., in context <c>vcvc<v>.' #NEWLINE# if ( len ( word ) <= 1 ) : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# ch = word [ ( - 2 ) ] #NEWLINE# if ( ch == 'a' ) : #NEWLINE# #INDENT# if word . endswith ( 'al' ) : #NEWLINE# #INDENT# return ( word [ : ( - 2 ) ] if ( self . _m ( word , ( len ( word ) - 3 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'c' ) : #NEWLINE# #INDENT# if word . endswith ( 'ance' ) : #NEWLINE# #INDENT# return ( word [ : ( - 4 ) ] if ( self . _m ( word , ( len ( word ) - 5 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ence' ) : #NEWLINE# #INDENT# return ( word [ : ( - 4 ) ] if ( self . _m ( word , ( len ( word ) - 5 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'e' ) : #NEWLINE# #INDENT# if word . endswith ( 'er' ) : #NEWLINE# #INDENT# return ( word [ : ( - 2 ) ] if ( self . _m ( word , ( len ( word ) - 3 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'i' ) : #NEWLINE# #INDENT# if word . endswith ( 'ic' ) : #NEWLINE# #INDENT# return ( word [ : ( - 2 ) ] if ( self . _m ( word , ( len ( word ) - 3 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'l' ) : #NEWLINE# #INDENT# if word . endswith ( 'able' ) : #NEWLINE# #INDENT# return ( word [ : ( - 4 ) ] if ( self . _m ( word , ( len ( word ) - 5 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ible' ) : #NEWLINE# #INDENT# return ( word [ : ( - 4 ) ] if ( self . _m ( word , ( len ( word ) - 5 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'n' ) : #NEWLINE# #INDENT# if word . endswith ( 'ant' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ement' ) : #NEWLINE# #INDENT# return ( word [ : ( - 5 ) ] if ( self . _m ( word , ( len ( word ) - 6 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ment' ) : #NEWLINE# #INDENT# return ( word [ : ( - 4 ) ] if ( self . _m ( word , ( len ( word ) - 5 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ent' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'o' ) : #NEWLINE# #INDENT# if ( word . endswith ( 'sion' ) or word . endswith ( 'tion' ) ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'ou' ) : #NEWLINE# #INDENT# return ( word [ : ( - 2 ) ] if ( self . _m ( word , ( len ( word ) - 3 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 's' ) : #NEWLINE# #INDENT# if word . endswith ( 'ism' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 't' ) : #NEWLINE# #INDENT# if word . endswith ( 'ate' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if word . endswith ( 'iti' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'u' ) : #NEWLINE# #INDENT# if word . endswith ( 'ous' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'v' ) : #NEWLINE# #INDENT# if word . endswith ( 'ive' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( ch == 'z' ) : #NEWLINE# #INDENT# if word . endswith ( 'ize' ) : #NEWLINE# #INDENT# return ( word [ : ( - 3 ) ] if ( self . _m ( word , ( len ( word ) - 4 ) ) > 1 ) else word ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return word #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# return word