parse method

  1. @override
Result<String>? parse(
  1. State<StringReader> state
)
override

Implementation

@override
Result<String>? parse(State<StringReader> state) {
  final pos = state.pos;
  final r1 = p1.parse(state);
  if (r1 != null) {
    final r2 = p2.parse(state);
    if (r2 != null) {
      return state.pos != pos
          ? Result(state.input.substring(pos, state.pos))
          : const Result('');
    }
  }

  state.pos = pos;
  return null;
}