public MatchResult Match(string input, int index) { var match = regex.Match(input, index); if (match.Success) { return(MatchResult.Succeed(match.Value)); } return(MatchResult.Fail); }
protected override MatchResult Match(Text text) { var peek = text.Peek(symbol.Length); if (peek == symbol) { return(MatchResult.Succeed(peek)); } return(MatchResult.Fail); }
public MatchResult Match(Predicate <char> test) { int i = index; while (i < input.Length && test(input[i])) { i++; } var value = Peek(i - index); if (value.Length > 0) { return(MatchResult.Succeed(value)); } return(MatchResult.Fail); }