public static ProductionBase <IEnumerable <T> > Many1 <T>(this ProductionBase <T> production, Token seperator) { CodeContract.RequiresArgumentNotNull(production, "production"); return(production.Many1(seperator.AsTerminal())); }
public static ProductionBase <IEnumerable <T> > Many <T, TSeparator>(this ProductionBase <T> production, ProductionBase <TSeparator> separator) { CodeContract.RequiresArgumentNotNull(production, "production"); return(Empty(new RepeatParserListNode <T>() as IEnumerable <T>).Union(production.Many1(separator))); }