package parseLib.parser;
import parseLib.util.*;
/**
* Combine two sequential parsers in a pair
*/
public class MkTuple2<T1,T2> extends Parser<Tuple2<T1,T2>> {
Parser<T1> p1;
Parser<T2> p2;
public MkTuple2(Parser<T1> p1, Parser<T2> p2) {
this.p1 = p1;
this.p2 = p2;
}
public Tuple2<T1,T2> parse(Input i) {
T1 t1 = p1.parse(i);
if (t1==null)
return null;
T2 t2 = p2.parse(i);
if (t2==null)
return null;
return new Tuple2<T1,T2>(t1, t2);
};
}