parseOn method
Parses the given context.
Overridden in concrete subclasses to implement the parser-specific logic.
Takes a parse context and returns the resulting context, which is either
a Success or Failure context.
Implementation
@override
@noBoundsChecks
Result<R> parseOn(Context context) {
// Check the first choice:
final result = children[0].parseOn(context);
if (result is! Failure) return result;
var failure = result;
// Check all other choices:
for (var i = 1; i < children.length; i++) {
final result = children[i].parseOn(context);
if (result is! Failure) return result;
failure = failureJoiner(failure, result);
}
return failure;
}