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