public static IParseResult <TResult> Select <T, TResult>(this IParseResult <T> parsed, Func <T, IParseResult <TResult> > func) { if (parsed.IsSuccess()) { return(func(parsed.Result)); } return(Parse.Error <TResult>(parsed.Error)); }
public IParseResult <T> TryParse(IInputReader inp) { IParseResult <T> parsed = null; foreach (var parser in _parsers) { parsed = parser.TryParse(inp); if (!parsed.IsSuccess()) { break; } } return(parsed); }