package parseLib.acceptor;
import parseLib.util.Input;
/**
* A parser for alternative constructs
*/
public class Choice extends Acceptor {
Acceptor[] as;
public Choice(Acceptor... as) {
this.as = as;
}
public boolean accept(Input i) {
int mark = i.getPos();
for (int j=0; j<as.length; j++) {
i.setPos(mark);
if (as[j].accept(i))
return true;
}
return false;
}
}