def _parse_tokens(self, tokens, i, actions=True):
    (results, i) = self.expr.parse(tokens, i, actions)
    try:
        while 1:
            start_i = i
            (tmpresults, i) = self.expr.parse(tokens, start_i, actions)
            if tmpresults:
                results.extend(tmpresults)
    except (ParseException, IndexError):
        pass
    return (([E(self.name, *results)] if self.name else results), i)
def _parse_tokens(self, tokens, i, actions=True):
    (results, i) = self.expr.parse(tokens, i, actions)
    try:
        while 1:
            start_i = i
            (tmpresults, i) = self.expr.parse(tokens, start_i, actions)
            if tmpresults:
                results.extend(tmpresults)
    except (ParseException, IndexError):
        pass
    return (([E(self.name, *results)] if self.name else results), i)