def present_participle(self, word):
        """
        Return the present participle for word.

        word is the 3rd person singular verb.

        """
        plv = self.plural_verb(word, 2)

        for pat, repl in (
            (r"ie$", r"y"),
            (r"ue$", r"u"),  # TODO: isn't ue$ -> u encompassed in the following rule?
            (r"([auy])e$", r"\g<1>"),
            (r"ski$", r"ski"),
            (r"[^b]i$", r""),
            (r"^(are|were)$", r"be"),
            (r"^(had)$", r"hav"),
            (r"^(hoe)$", r"\g<1>"),
            (r"([^e])e$", r"\g<1>"),
            (r"er$", r"er"),
            (r"([^aeiou][aeiouy]([bdgmnprst]))$", r"\g<1>\g<2>"),
        ):
            (ans, num) = re.subn(pat, repl, plv)
            if num:
                return "%sing" % ans
        return "%sing" % ans
Return the present participle for word.

        word is the 3rd person singular verb.