public static Parser <TToken, IDelayed <ISeq <T> > > SepBy0 <TToken, T>( Parser <TToken, T> parser, Parser <TToken, Unit> sep) { return(InternalCombinator.SepBy1(parser, sep) .Or(Parser.Return <TToken, IDelayed <ISeq <T> > >(Seq.Empty <T>()))); }
public static Parser <TToken, IDelayed <ISeq <T> > > SepEndBy1 <TToken, T>( Parser <TToken, T> parser, Parser <TToken, Unit> sep) { return(InternalCombinator.SepBy1(parser, sep).SelectMany(value => sep.Optional().Select(_ => value))); }