pecial>!</span><span class=identifier>end</span></pre>
<p>where <tt>item</tt> is an expression, delimiter is a delimiter and end is an 
  optional closing expression. As you can see, the <tt>list_p</tt> generated parser 
  does not recognize empty lists, i.e. the parser must find at least one item 
  in the input stream to return a successful match. If you wish to also match 
  an empty list, you can make your list_p optional with operator! An example where 
  this utility parser is helpful is parsing comma