public <S, P> List<S> shortestStackpruningPathTo(Pda<S, P> pda, S start, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = traceToWithPruningStack(pda, Collections.singleton(start), stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
public <S, P> List<S> shortestPathTo(Pda<S, P> pda, S start, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = trace(pda, Collections.singleton(start), stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
public <S, P> List<S> shortestPathTo(Pda<S, P> pda, S start, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = trace(pda, Collections.singleton(start), stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
@Override public String toString() { return "States: " + asList() + " Stack: " + stackitem; }
public <S, P> List<S> shortestStackpruningPathTo(Pda<S, P> pda, S start, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = traceToWithPruningStack(pda, Collections.singleton(start), stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
public <S, P> List<S> shortestStackpruningPathTo(Pda<S, P> pda, Iterable<S> starts, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = traceToWithPruningStack(pda, starts, stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
public <S, P> List<S> shortestStackpruningPathTo(Pda<S, P> pda, Iterable<S> starts, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = traceToWithPruningStack(pda, starts, stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
@Override public String toString() { return "States: " + asList() + " Stack: " + stackitem; }
public <S, P> List<S> shortestPathTo(Pda<S, P> pda, Iterable<S> starts, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = trace(pda, starts, stack, matches, canPass); if (trace != null) return trace.asList(); return null; }
public <S, P> List<S> shortestPathTo(Pda<S, P> pda, Iterable<S> starts, Iterator<P> stack, Predicate<S> matches, Predicate<S> canPass) { TraceItem<S, P> trace = trace(pda, starts, stack, matches, canPass); if (trace != null) return trace.asList(); return null; }