Parse multiple comma-separated elements, each of which is parsed
       using function f.

def parse_multiple(s, f, values=None):
    """Parse multiple 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