parse method

  1. @override
Result<O>? parse(
  1. State<I> state
)
override

Parses the input and returns a result wrapped in Result if successful, null otherwise.

Implementation

@override
Result<O>? parse(State<I> state) {
  final r1 = p1.parse(state);
  if (r1 != null) {
    return r1;
  }

  final r2 = p2.parse(state);
  if (r2 != null) {
    return r2;
  }

  final r3 = p3.parse(state);
  if (r3 != null) {
    return r3;
  }

  final r4 = p4.parse(state);
  if (r4 != null) {
    return r4;
  }

  return null;
}