parseOn method
Primitive method doing the actual parsing.
The method is overridden in concrete subclasses to implement the
parser specific logic. The methods takes a parse context
and
returns the resulting context, which is either a Success or
Failure context.
Implementation
@override
Result<Sequence5<R1, R2, R3, R4, R5>> parseOn(Context context) {
final result1 = parser1.parseOn(context);
if (result1.isFailure) return result1.failure(result1.message);
final result2 = parser2.parseOn(result1);
if (result2.isFailure) return result2.failure(result2.message);
final result3 = parser3.parseOn(result2);
if (result3.isFailure) return result3.failure(result3.message);
final result4 = parser4.parseOn(result3);
if (result4.isFailure) return result4.failure(result4.message);
final result5 = parser5.parseOn(result4);
if (result5.isFailure) return result5.failure(result5.message);
return result5.success(Sequence5<R1, R2, R3, R4, R5>(result1.value,
result2.value, result3.value, result4.value, result5.value));
}