parse method

  1. @override
  2. @inline
Tuple1<List<O>>? parse(
  1. ParseInput<String> input,
  2. ParseState state
)
override

Implementation

@override
@inline
Tuple1<List<O>>? parse(ParseInput<String> input, ParseState state) {
  final r1 = p.parse(input, state);
  if (r1 != null) {
    final list = [r1.$0];
    while (true) {
      final pos = input.pos;
      if (input.match(c)) {
        ws.parse(input, state);
        final r2 = p.parse(input, state);
        if (r2 == null) {
          input.pos = pos;
          return Tuple1(list);
        }

        list.add(r2.$0);
        continue;
      }

      return Tuple1(list);
    }
  }
}