def read_until(self, chars, char):
        try:
            next_char = next(chars)
        except StopIteration:
            raise MalformedSurlex(char % 'Malformed surlex. Expected %s.')
        if next_char == char:
            return ''
        if next_char == '\\':
            # only escape what we are looking for
            escaped_char = next(chars)
            if escaped_char == char:
                return escaped_char + self.read_until(chars, char)
            else:
                return '\\' + escaped_char + self.read_until(chars, char)
        else:
            return next_char + self.read_until(chars, char)
dataset/ETHPy150Open codysoyland/surlex/src/surlex/grammar.py/Parser.read_until/swapped operands of `%`