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<(R1, R2, R3)> parseOn(Context context) {
final result1 = parser1.parseOn(context);
if (result1 is Failure) return result1;
final result2 = parser2.parseOn(result1);
if (result2 is Failure) return result2;
final result3 = parser3.parseOn(result2);
if (result3 is Failure) return result3;
return result3.success((result1.value, result2.value, result3.value));
}