run method

Implementation

@override
(MutableStringSlice, MutableStringSlice) run(MutableStringSlice input) {
  int literalIndex = 0;

  for (int inputIndex = 0; inputIndex < input.length; inputIndex++) {
    if (input.codeUnitAt(inputIndex) == literal.codeUnitAt(literalIndex)) {
      literalIndex++;
    }
    if (literalIndex == literal.length) {
      final result = input.take(inputIndex + 1);
      input.skiping(inputIndex + 1);
      return (result, input);
    }
  }
  throw ParserError(
    expected: input.toString(),
    remainingInput: input.toString(),
  );
}