package parseLib.acceptor;
import parseLib.util.Input;
/**
* A parser for iterated constructs (1 or more occurrences)
*/
public class Plus extends Acceptor {
private Acceptor a;
public Plus(Acceptor p) {
this.a = p;
}
public boolean accept(Input i) {
if (!a.accept(i))
return false;
while (true) {
int mark = i.getPos();
if (!a.accept(i)) {
i.setPos(mark);
return true;
}
}
}
}