def __getattr__(self, attr):
        if attr in self._particles:
            particle = self._particles[attr]
            i, j = self._match[particle]
            self._check_valid_indexes(i, j, attr)
            match = Match(self._match, self._words, i, j)
            return particle.interpret(match)

        try:
            i, j = self._match[attr]
        except __HOLE__:
            message = "'{}' object has no attribute '{}'"
            raise AttributeError(message.format(self.__class__.__name__, attr))
        self._check_valid_indexes(i, j, attr)
        return WordList(self._words[i:j])
dataset/ETHPy150Open machinalis/quepy/quepy/parsing.py/Match.__getattr__