(self)
step1ab() gets rid of plurals and -ed or -ing. e.g.

           caresses  ->  caress
           ponies    ->  poni
           ties      ->  ti
           caress    ->  caress
           cats      ->  cat

           feed      ->  feed
           agreed    ->  agree
           disabled  ->  disable

           matting   ->  mat
           mating    ->  mate
           meeting   ->  meet
           milling   ->  mill
           messing   ->  mess

           meetings  ->  meet
step1ab() gets rid of plurals and -ed or -ing. e.g.
step1ab () gets rid of plurals and - ed or - ing . e . g .
def step1ab(self):
        """step1ab() gets rid of plurals and -ed or -ing. e.g.

           caresses  ->  caress
           ponies    ->  poni
           ties      ->  ti
           caress    ->  caress
           cats      ->  cat

           feed      ->  feed
           agreed    ->  agree
           disabled  ->  disable

           matting   ->  mat
           mating    ->  mate
           meeting   ->  meet
           milling   ->  mill
           messing   ->  mess

           meetings  ->  meet
        """
        if self.b[self.k] == 's':
            if self.ends("sses"):
                self.k = self.k - 2
            elif self.ends("ies"):
                self.setto("i")
            elif self.b[self.k - 1] != 's':
                self.k = self.k - 1
        if self.ends("eed"):
            if self.m() > 0:
                self.k = self.k - 1
        elif (self.ends("ed") or self.ends("ing")) and self.vowelinstem():
            self.k = self.j
            if self.ends("at"):   self.setto("ate")
            elif self.ends("bl"): self.setto("ble")
            elif self.ends("iz"): self.setto("ize")
            elif self.doublec(self.k):
                self.k = self.k - 1
                ch = self.b[self.k]
                if ch == 'l' or ch == 's' or ch == 'z':
                    self.k = self.k + 1
            elif (self.m() == 1 and self.cvc(self.k)):
                self.setto("e")
def step1ab ( self ) : if self . b [ self . k ] == 's' : if self . ends ( "sses" ) : self . k = self . k - 2 elif self . ends ( "ies" ) : self . setto ( "i" ) elif self . b [ self . k - 1 ] != 's' : self . k = self . k - 1 if self . ends ( "eed" ) : if self . m ( ) > 0 : self . k = self . k - 1 elif ( self . ends ( "ed" ) or self . ends ( "ing" ) ) and self . vowelinstem ( ) : self . k = self . j if self . ends ( "at" ) : self . setto ( "ate" ) elif self . ends ( "bl" ) : self . setto ( "ble" ) elif self . ends ( "iz" ) : self . setto ( "ize" ) elif self . doublec ( self . k ) : self . k = self . k - 1 ch = self . b [ self . k ] if ch == 'l' or ch == 's' or ch == 'z' : self . k = self . k + 1 elif ( self . m ( ) == 1 and self . cvc ( self . k ) ) : self . setto ( "e" )