#NEWLINE# def find_lexeme( self , verb ) : #NEWLINE# #INDENT# ' For a regular verb (base form), returns the forms using a rule-based approach.\n        ' #NEWLINE# v = verb . lower ( ) #NEWLINE# if ( ( len ( verb ) > 1 ) and v . endswith ( 'e' ) and ( v [ ( - 2 ) ] not in VOWELS ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 's' ) , v , ( v [ : ( - 1 ) ] + 'ing' ) ] + ( [ ( v + 'd' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if ( ( len ( v ) > 1 ) and v . endswith ( 'y' ) and ( v [ ( - 2 ) ] not in VOWELS ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v [ : ( - 1 ) ] + 'ies' ) , v , ( v + 'ing' ) ] + ( [ ( v [ : ( - 1 ) ] + 'ied' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if v . endswith ( ( 'ss' , 'sh' , 'ch' , 'x' ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 'es' ) , v , ( v + 'ing' ) ] + ( [ ( v + 'ed' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if v . endswith ( 'ic' ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 'es' ) , v , ( v + 'king' ) ] + ( [ ( v + 'ked' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if ( ( len ( v ) > 1 ) and ( v [ ( - 1 ) ] not in VOWELS ) and ( v [ ( - 2 ) ] not in VOWELS ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 's' ) , v , ( v + 'ing' ) ] + ( [ ( v + 'ed' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if ( ( ( len ( v ) > 1 ) and v . endswith ( ( 'y' , 'w' ) ) and ( v [ ( - 2 ) ] in VOWELS ) ) or ( ( len ( v ) > 2 ) and ( v [ ( - 1 ) ] not in VOWELS ) and ( v [ ( - 2 ) ] in VOWELS ) and ( v [ ( - 3 ) ] in VOWELS ) ) or ( ( len ( v ) > 3 ) and ( v [ ( - 1 ) ] not in VOWELS ) and ( v [ ( - 3 ) ] in VOWELS ) and ( v [ ( - 4 ) ] in VOWELS ) ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 's' ) , v , ( v + 'ing' ) ] + ( [ ( v + 'ed' ) ] * 6 ) ) #NEWLINE# #UNINDENT# if ( ( len ( v ) > 2 ) and ( v [ ( - 1 ) ] not in VOWELS ) and ( v [ ( - 2 ) ] in VOWELS ) and ( v [ ( - 3 ) ] not in VOWELS ) ) : #NEWLINE# #INDENT# return ( [ v , v , v , ( v + 's' ) , v , ( ( v + v [ ( - 1 ) ] ) + 'ing' ) ] + ( [ ( ( v + v [ ( - 1 ) ] ) + 'ed' ) ] * 6 ) ) #NEWLINE# #UNINDENT# return ( [ v , v , v , ( v + 's' ) , v , ( v + 'ing' ) ] + ( [ ( v + 'ed' ) ] * 6 ) )