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
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));
}