parse method
Parses the input and returns a result wrapped in Result if successful,
null
otherwise.
Implementation
@override
Result<(O1, O2)>? parse(State<I> state) {
final pos = state.pos;
final r1 = p1.parse(state);
if (r1 != null) {
final r2 = p2.parse(state);
if (r2 != null) {
return Result((
r1.value,
r2.value,
));
}
}
state.pos = pos;
return null;
}