List<String> lastFailTemplatePositions = new ArrayList<String>();
List<String> sideEffectBlockedTemplatePositions = new ArrayList<String>();
ParserState finishedState = null;
while (queuedStates.size() > 0) {
ParserState current = queuedStates.remove(0);
OperationResult opres = OperationResult.CONTINUE;
while (opres == OperationResult.CONTINUE) {
int ip = current.getNextInstructionAndIncrement();
Operation op = template.getOperation(ip);
try {
opres = op.execute(current);