public class NfaUtil
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
NfaUtil.BacktrackHandler<S,RESULT> |
protected static class |
NfaUtil.BacktrackingItem<RESULT,S> |
protected static class |
NfaUtil.GetToken<E,T> |
static class |
NfaUtil.MappedComparator<S,COMPARABLE extends java.lang.Comparable<COMPARABLE>> |
static class |
NfaUtil.NFAFactory<S> |
static class |
NfaUtil.NFAImpl<S> |
Constructor and Description |
---|
NfaUtil() |
Modifier and Type | Method and Description |
---|---|
<S,RESULT> java.util.List<RESULT> |
backtrack(Nfa<S> nfa,
RESULT initial,
NfaUtil.BacktrackHandler<S,RESULT> handler) |
<S,ITERABLE extends java.lang.Iterable<? extends S>> |
canReach(Nfa<S> nfa,
S state,
com.google.common.base.Predicate<S> matcher) |
<S,ITERABLE extends java.lang.Iterable<? extends S>> |
canReachFinalState(Nfa<S> nfa,
S state) |
<S> java.util.Set<S> |
collect(Nfa<S> nfa) |
protected <S> void |
collect(Nfa<S> nfa,
S state,
java.util.Set<S> visited) |
protected <S> void |
collectDistancesForm(Nfa<S> nfa,
S from,
int distance,
java.util.Map<S,java.lang.Integer> distances,
com.google.common.base.Predicate<S> matches) |
protected <S> void |
collectedInverseMap(Nfa<S> nfa,
S state,
java.util.Map<S,java.util.List<S>> inverseMap,
java.util.Set<S> visited) |
protected <S> void |
collectFollowers(Nfa<S> nfa,
S owner,
java.util.Set<S> result,
java.util.Set<S> visited,
com.google.common.base.Predicate<S> filter) |
<SRCSTATE,DSTSTATE,P extends Nfa<DSTSTATE>> |
create(Nfa<SRCSTATE> source,
NfaFactory<P,DSTSTATE,SRCSTATE> factory) |
protected <SRCSTATE,DSTSTATE,P extends Nfa<DSTSTATE>> |
create(Nfa<SRCSTATE> source,
P result,
SRCSTATE src,
NfaFactory<P,DSTSTATE,SRCSTATE> factory,
java.util.Map<SRCSTATE,DSTSTATE> src2dst) |
<E,T> Nfa<E> |
create(Production<E,T> production,
FollowerFunction<E> ff,
E start,
E stop) |
<S,E,T,P extends Nfa<S>> |
create(Production<E,T> production,
FollowerFunction<E> ff,
NfaFactory<P,S,? super T> factory) |
<S,E,T1,T2,P extends Nfa<S>> |
create(Production<E,T1> production,
FollowerFunction<E> ff,
com.google.common.base.Function<E,T2> tokenFunc,
NfaFactory<P,S,? super T2> factory,
T2 start,
T2 stop) |
protected <S,E,T1,T2,P extends Nfa<S>> |
create(Production<E,T1> production,
P nfa,
S state,
java.lang.Iterable<E> followerElements,
FollowerFunction<E> followerFunc,
com.google.common.base.Function<E,T2> tokenFunc,
NfaFactory<P,S,? super T2> factory,
java.util.Map<E,S> ele2state) |
<S> java.util.Map<S,java.lang.Integer> |
distanceFromStateMap(Nfa<S> nfa,
com.google.common.base.Predicate<S> matches) |
<S> java.util.Map<S,java.lang.Integer> |
distanceToFinalStateMap(Nfa<S> nfa) |
<S> java.util.Map<S,java.lang.Integer> |
distanceToStateMap(Nfa<S> nfa,
com.google.common.base.Predicate<S> matches) |
<S> boolean |
equalsIgnoreOrder(Nfa<S> nfa1,
Nfa<S> nfa2) |
<S> boolean |
equalsIgnoreOrder(Nfa<S> nfa1,
Nfa<S> nfa2,
com.google.common.base.Function<S,? super java.lang.Object> keyFunc) |
<S> boolean |
equalsIgnoreOrder(Nfa<S> nfa1,
Nfa<S> nfa2,
S s1,
S s2,
com.google.common.base.Function<S,? super java.lang.Object> keyFunc,
java.util.Set<S> visited) |
<S> Nfa<S> |
filter(Nfa<S> nfa,
com.google.common.base.Predicate<S> filter) |
<S> java.util.Set<S> |
filterFollowers(Nfa<S> nfa,
java.lang.Iterable<S> followers,
com.google.common.base.Predicate<S> filter) |
<S,ITERABLE extends java.lang.Iterable<? extends S>> |
find(Nfa<S> nfa,
java.lang.Iterable<S> starts,
com.google.common.base.Predicate<S> matcher) |
<S> S |
find(Nfa<S> nfa,
com.google.common.base.Predicate<S> matcher) |
protected <S,ITERABLE extends java.lang.Iterable<? extends S>> |
find(Nfa<S> nfa,
S state,
com.google.common.base.Predicate<S> matcher,
java.util.Set<S> visited) |
<S> java.util.Set<S> |
findFirst(Nfa<S> nfa,
java.lang.Iterable<S> starts,
com.google.common.base.Predicate<S> match) |
<S> Nfa<S> |
inverse(Nfa<S> nfa) |
<S> void |
removeOrphans(Nfa<S> nfa) |
<S extends java.lang.Comparable<S>> |
sort(Nfa<S> nfa) |
<S> Nfa<S> |
sort(Nfa<S> nfa,
java.util.Comparator<S> comparator) |
<S,COMP extends java.lang.Comparable<COMP>> |
sort(Nfa<S> nfa,
java.util.Map<S,COMP> comparator) |
public <S,RESULT> java.util.List<RESULT> backtrack(Nfa<S> nfa, RESULT initial, NfaUtil.BacktrackHandler<S,RESULT> handler)
public <S,ITERABLE extends java.lang.Iterable<? extends S>> boolean canReach(Nfa<S> nfa, S state, com.google.common.base.Predicate<S> matcher)
public <S,ITERABLE extends java.lang.Iterable<? extends S>> boolean canReachFinalState(Nfa<S> nfa, S state)
public <S> java.util.Set<S> collect(Nfa<S> nfa)
protected <S> void collect(Nfa<S> nfa, S state, java.util.Set<S> visited)
protected <S> void collectDistancesForm(Nfa<S> nfa, S from, int distance, java.util.Map<S,java.lang.Integer> distances, com.google.common.base.Predicate<S> matches)
protected <S> void collectedInverseMap(Nfa<S> nfa, S state, java.util.Map<S,java.util.List<S>> inverseMap, java.util.Set<S> visited)
protected <S> void collectFollowers(Nfa<S> nfa, S owner, java.util.Set<S> result, java.util.Set<S> visited, com.google.common.base.Predicate<S> filter)
protected <SRCSTATE,DSTSTATE,P extends Nfa<DSTSTATE>> DSTSTATE create(Nfa<SRCSTATE> source, P result, SRCSTATE src, NfaFactory<P,DSTSTATE,SRCSTATE> factory, java.util.Map<SRCSTATE,DSTSTATE> src2dst)
public <SRCSTATE,DSTSTATE,P extends Nfa<DSTSTATE>> P create(Nfa<SRCSTATE> source, NfaFactory<P,DSTSTATE,SRCSTATE> factory)
public <E,T> Nfa<E> create(Production<E,T> production, FollowerFunction<E> ff, E start, E stop)
public <S,E,T,P extends Nfa<S>> P create(Production<E,T> production, FollowerFunction<E> ff, NfaFactory<P,S,? super T> factory)
public <S,E,T1,T2,P extends Nfa<S>> P create(Production<E,T1> production, FollowerFunction<E> ff, com.google.common.base.Function<E,T2> tokenFunc, NfaFactory<P,S,? super T2> factory, T2 start, T2 stop)
protected <S,E,T1,T2,P extends Nfa<S>> void create(Production<E,T1> production, P nfa, S state, java.lang.Iterable<E> followerElements, FollowerFunction<E> followerFunc, com.google.common.base.Function<E,T2> tokenFunc, NfaFactory<P,S,? super T2> factory, java.util.Map<E,S> ele2state)
public <S> java.util.Map<S,java.lang.Integer> distanceFromStateMap(Nfa<S> nfa, com.google.common.base.Predicate<S> matches)
public <S> java.util.Map<S,java.lang.Integer> distanceToFinalStateMap(Nfa<S> nfa)
public <S> java.util.Map<S,java.lang.Integer> distanceToStateMap(Nfa<S> nfa, com.google.common.base.Predicate<S> matches)
public <S> boolean equalsIgnoreOrder(Nfa<S> nfa1, Nfa<S> nfa2, com.google.common.base.Function<S,? super java.lang.Object> keyFunc)
public <S> boolean equalsIgnoreOrder(Nfa<S> nfa1, Nfa<S> nfa2, S s1, S s2, com.google.common.base.Function<S,? super java.lang.Object> keyFunc, java.util.Set<S> visited)
public <S> java.util.Set<S> filterFollowers(Nfa<S> nfa, java.lang.Iterable<S> followers, com.google.common.base.Predicate<S> filter)
public <S,ITERABLE extends java.lang.Iterable<? extends S>> S find(Nfa<S> nfa, java.lang.Iterable<S> starts, com.google.common.base.Predicate<S> matcher)
public <S> S find(Nfa<S> nfa, com.google.common.base.Predicate<S> matcher)
protected <S,ITERABLE extends java.lang.Iterable<? extends S>> S find(Nfa<S> nfa, S state, com.google.common.base.Predicate<S> matcher, java.util.Set<S> visited)
public <S> java.util.Set<S> findFirst(Nfa<S> nfa, java.lang.Iterable<S> starts, com.google.common.base.Predicate<S> match)
public <S> void removeOrphans(Nfa<S> nfa)