def Star(inner_rule, loc=None):
@llrule(loc, lambda parser: [])<EOL>def rule(parser):<EOL><INDENT>results = []<EOL>while True:<EOL><INDENT>data = parser._save()<EOL>result = inner_rule(parser)<EOL>if result is unmatched:<EOL><INDENT>parser._restore(data, rule=inner_rule)<EOL>return results<EOL><DEDENT>results.append(result)<EOL><DEDENT><DEDENT>return rule<EOL>
A rule that accepts a sequence of tokens satisfying ``inner_rule`` zero or more times,
and returns the returned values in a :class:`list`.