package name.panitz.parser;

import java.util.List;
import java.util.ArrayList;

public class Alt<a> implements Parser<a>{
  final private Parser<a> p1;
  final private Parser<a> p2;
  public Alt(Parser<a> _p1,Parser<a> _p2){p1=_p1;p2=_p2;}

  public ParseResult<a> parse(List<Token> ts){
    ParseResult<a> r1 = p1.parse(ts);

    if (r1.failed()) return p2.parse(ts);
    return r1;
  }
}

