private void pushForDestinationOfCurrentTransition(Deque<Step> steps) { steps.push(this); steps.push(new Step(currentTransition.getDest())); } }
private void nextImpl() { Step currentStep; while (!steps.isEmpty() && !found) { currentStep = steps.pop(); found = currentStep.build(stringBuilder, steps); } }
public boolean build(StringBuilder stringBuilder, Deque<Step> steps) { if (hasCurrentTransition()) { currentChar++; } else if (!moveToNextTransition()) { removeLastChar(stringBuilder); return false; } if (currentChar <= currentTransition.getMax()) { stringBuilder.append(currentChar); if (currentTransition.getDest().isAccept()) { pushForDestinationOfCurrentTransition(steps); if (currentChar >= currentTransition.getMax()) { currentTransition = null; } return true; } pushForDestinationOfCurrentTransition(steps); return false; } steps.push(this); currentTransition = null; return false; }
public boolean build(StringBuilder stringBuilder, Deque<Step> steps) { if (hasCurrentTransition()) { currentChar++; } else if (!moveToNextTransition()) { removeLastChar(stringBuilder); return false; } if (currentChar <= currentTransition.getMax()) { stringBuilder.append(currentChar); if (currentTransition.getDest().isAccept()) { pushForDestinationOfCurrentTransition(steps); if (currentChar >= currentTransition.getMax()) { currentTransition = null; } return true; } pushForDestinationOfCurrentTransition(steps); return false; } steps.push(this); currentTransition = null; return false; }
public GenerexIterator(State initialState) { steps = new ArrayDeque<Step>(); int initialCapacity; if (initialState.isAccept() && initialState.getTransitions().isEmpty()) { found = true; initialCapacity = 0; } else { steps.push(new Step(initialState)); initialCapacity = 16; // Use default initial capacity } stringBuilder = new StringBuilder(initialCapacity); }
private void pushForDestinationOfCurrentTransition(Deque<Step> steps) { steps.push(this); steps.push(new Step(currentTransition.getDest())); } }
private void nextImpl() { Step currentStep; while (!steps.isEmpty() && !found) { currentStep = steps.pop(); found = currentStep.build(stringBuilder, steps); } }
public GenerexIterator(State initialState) { steps = new ArrayDeque<Step>(); int initialCapacity; if (initialState.isAccept() && initialState.getTransitions().isEmpty()) { found = true; initialCapacity = 0; } else { steps.push(new Step(initialState)); initialCapacity = 16; // Use default initial capacity } stringBuilder = new StringBuilder(initialCapacity); }