예제 #1
0
 public static IParser <S, T[]> Separated <S, T>(this IParser <S, T> parser, IParser <S, Unit> separator)
 {
     return(parser
            .Continue(first => parser.After(separator).Repeat()
                      .Continue(rest => Parsers.Returns <S, T[]>(ArrayOperations.Concatenate(new T[] { first }, rest)))));
 }