def _p_simple_string(self, string, silent = False, swallow = True,
                        case_matters = False, syntax_error = None):
        if len(self.input) < len(string):
            match = None
        else:
            if case_matters:
                if self.input[:len(string)] == string:
                    match = string
                else:
                    match = None
            else:
                if self.input[:len(string)].lower() == string.lower():
                    match = string.lower()
                else:
                    match = None

        if match is None:
            if silent:
                return None
            else:
                if syntax_error:
                    raise NoMatch(value = syntax_error)
                else:
                    raise NoMatch(value = "No match for simple string '%s', input started with: '%s'" % (string, self.input[:10]))
        if swallow:
            self.input = self.input[len(string):]
        return match

    #
    # Done token parsing routines.
    #
    #######################################################################
    #######################################################################
Like p_re(), this is used to parse a bit of input. However it just
dataset/ETHPy150Open scanner/asimap/asimap/parse.py/IMAPClientCommand._p_simple_string