def delimitedList( expr, delim="<STR_LIT:U+002C>", combine=False ):
dlName = _ustr(expr)+"<STR_LIT>"+_ustr(delim)+"<STR_LIT:U+0020>"+_ustr(expr)+"<STR_LIT>"<EOL>if combine:<EOL><INDENT>return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName)<EOL><DEDENT>else:<EOL><INDENT>return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName)<EOL><DEDENT>
Helper to define a delimited list of expressions - the delimiter defaults to ','.
       By default, the list elements and delimiters can have intervening whitespace, and
       comments, but this can be overridden by passing C{combine=True} in the constructor.
       If C{combine} is set to C{True}, the matching tokens are returned as a single token
       string, with the delimiters included; otherwise, the matching tokens are returned
       as a list of tokens, with the delimiters suppressed.