def parse_multiple(s, f, values=None):
    """Parse one or more comma-separated elements, each of which is parsed
       using function f."""
    if values is None: values = []
    values.append(f(s))
    if s.pos < len(s) and s.cur == ',':
        s.pos += 1
        return parse_multiple(s, f, values)
    else:
        return values