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