public <S, P, D extends Pda<S, P>> D filterOrphans(Pda<S, P> pda, PdaFactory<D, S, P, S> factory) { CyclicStackTraverser<S, P> traverser = new CyclicStackTraverser<S, P>(); return filterEdges(pda, traverser, factory); }
public <S, P, D extends Pda<S, P>> D filterOrphans(Pda<S, P> pda, PdaFactory<D, S, P, S> factory) { CyclicStackTraverser<S, P> traverser = new CyclicStackTraverser<S, P>(); return filterEdges(pda, traverser, factory); }
public <S, P, R, D extends Pda<S, P>> D filterEdges(Pda<S, P> pda, Traverser<? super Pda<S, P>, S, R> traverser, PdaFactory<D, S, P, S> factory) { Map<S, Integer> distances = new NfaUtil().distanceToFinalStateMap(pda); return filterEdges(pda, traverser, distances, factory); }
protected Pda<ISerState, RuleCall> createPDA(EObject context, EClass type) { Pda<ISerState, RuleCall> contextPda = pdaProvider.getContextPDA(context); Pda<ISerState, RuleCall> contextTypePda = null; if (contextProvider.getTypesForContext(context).size() > 1) { TypeFilter typeFilter = newTypeFilter(type); SerializerPDACloneFactory factory = new SerializerPDACloneFactory(); contextTypePda = new PdaUtil().filterEdges(contextPda, typeFilter, factory); } else contextTypePda = contextPda; return contextTypePda; }