parse method

  1. @override
Tuple1<Tuple7<E1, E2, E3, E4, E5, E6, E7>>? parse(
  1. ParseState state
)
override

Parses input data actively and produces the result.

Returns Tuple1 of the result if parsing was successful; otherwise returns null.

final r1 = p.parse(state);

Implementation

@override
Tuple1<Tuple7<E1, E2, E3, E4, E5, E6, E7>>? parse(ParseState state) {
  final pos = state.pos;
  final r1 = p1.parse(state);
  if (r1 != null) {
    final r2 = p2.parse(state);
    if (r2 != null) {
      final r3 = p3.parse(state);
      if (r3 != null) {
        final r4 = p4.parse(state);
        if (r4 != null) {
          final r5 = p5.parse(state);
          if (r5 != null) {
            final r6 = p6.parse(state);
            if (r6 != null) {
              final r7 = p7.parse(state);
              if (r7 != null) {
                final v1 =
                    Tuple7(r1.$0, r2.$0, r3.$0, r4.$0, r5.$0, r6.$0, r7.$0);
                return Tuple1(v1);
              }
            }
          }
        }
      }
    }
  }

  state.pos = pos;
}