parse method

  1. @override
Tuple1<Tuple4<O1, O2, O3, O4>>? parse(
  1. ParseInput<I> input,
  2. ParseState state
)
override

Implementation

@override
Tuple1<Tuple4<O1, O2, O3, O4>>? parse(ParseInput<I> input, ParseState state) {
  final pos = input.pos;
  final r1 = p1.parse(input, state);
  if (r1 != null) {
    final r2 = p2.parse(input, state);
    if (r2 != null) {
      final r3 = p3.parse(input, state);
      if (r3 != null) {
        final r4 = p4.parse(input, state);
        if (r4 != null) {
          final v1 = Tuple4(r1.$0, r2.$0, r3.$0, r4.$0);
          return Tuple1(v1);
        }
      }
    }
  }

  input.pos = pos;
}