public static Parser <TToken, IEnumerable <T> > SepBy0_Optimized <TToken, T>( Parser <TToken, T> parser, Parser <TToken, Unit> sep) { return(InternalCombinator.SepBy1_Optimized(parser, sep) .Or(Parser.Return <TToken, IEnumerable <T> >(Enumerable.Empty <T>()))); }
public static Parser <TToken, IEnumerable <T> > SepEndBy1_Optimized <TToken, T>( Parser <TToken, T> parser, Parser <TToken, Unit> sep) { return(InternalCombinator.SepBy1_Optimized(parser, sep) .Bindl(sep.Optional())); }
public static Parser <TToken, IEnumerable <T> > SepBy1 <TToken, T>( this Parser <TToken, T> parser, Parser <TToken, Unit> sep) { /* * return InternalCombinator.SepBy1(parser, sep) * .Select(delayedSeq => delayedSeq.AsEnumerable()); */ return(InternalCombinator.SepBy1_Optimized(parser, sep)); }