parse method
Parses the input and returns a result wrapped in Result if successful,
null
otherwise.
Implementation
@override
Result<int>? parse(State<StringReader> state) {
final input = state.input;
if (state.pos < input.length) {
final c = input.readChar(state.pos);
if (f(c)) {
state.pos += input.count;
return Result(c);
}
}
return state.fail(ErrorUnexpectedCharacter());
}