org.eclipse.xtext.util.formallang
Class NfaToGrammar
java.lang.Object
org.eclipse.xtext.util.formallang.NfaToGrammar
public class NfaToGrammar
- extends java.lang.Object
- Author:
- Moritz Eysholdt - Initial contribution and API
Method Summary |
protected
|
collectStates(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
createAlternative(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
createGroup(NfaToGrammar.StateAlias<T> first,
NfaToGrammar.StateAlias<T> second)
|
protected
|
createGroups(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
createMany(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
createOptional(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
findSplitState(NfaToGrammar.StateAlias<T> state,
java.lang.Integer depth,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
|
protected
|
getAllStates(NfaToGrammar.StateAlias<T> state)
|
protected
|
isPreferredSplitState(Pair<java.lang.Integer,NfaToGrammar.StateAlias<T>> state1,
Pair<java.lang.Integer,NfaToGrammar.StateAlias<T>> state2)
|
<ELEMENT,STATE,TOKEN>
ELEMENT |
|
nfaToGrammar(Nfa<STATE> nfa,
com.google.common.base.Function<STATE,TOKEN> state2token,
IGrammarFactory<ELEMENT,TOKEN> grammarFactory)
|
protected
|
splitState(NfaToGrammar.StateAlias<T> state)
|
protected
|
toAlias(Nfa<STATE> nfa,
com.google.common.base.Function<STATE,TOKEN> state2token,
STATE state,
java.util.Map<STATE,NfaToGrammar.StateAlias<TOKEN>> cache)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NfaToGrammar
public NfaToGrammar()
collectStates
protected <T> void collectStates(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
createAlternative
protected <T> boolean createAlternative(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
createGroup
protected <T> void createGroup(NfaToGrammar.StateAlias<T> first,
NfaToGrammar.StateAlias<T> second)
createGroups
protected <T> boolean createGroups(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
createMany
protected <T> boolean createMany(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
createOptional
protected <T> boolean createOptional(NfaToGrammar.StateAlias<T> state,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
findSplitState
protected <T> Pair<java.lang.Integer,NfaToGrammar.StateAlias<T>> findSplitState(NfaToGrammar.StateAlias<T> state,
java.lang.Integer depth,
java.util.Set<NfaToGrammar.StateAlias<T>> visited)
getAllStates
protected <T> java.util.Set<NfaToGrammar.StateAlias<T>> getAllStates(NfaToGrammar.StateAlias<T> state)
isPreferredSplitState
protected <T> boolean isPreferredSplitState(Pair<java.lang.Integer,NfaToGrammar.StateAlias<T>> state1,
Pair<java.lang.Integer,NfaToGrammar.StateAlias<T>> state2)
nfaToGrammar
public <ELEMENT,STATE,TOKEN> ELEMENT nfaToGrammar(Nfa<STATE> nfa,
com.google.common.base.Function<STATE,TOKEN> state2token,
IGrammarFactory<ELEMENT,TOKEN> grammarFactory)
splitState
protected <T> void splitState(NfaToGrammar.StateAlias<T> state)
toAlias
protected <STATE,TOKEN> NfaToGrammar.StateAlias<TOKEN> toAlias(Nfa<STATE> nfa,
com.google.common.base.Function<STATE,TOKEN> state2token,
STATE state,
java.util.Map<STATE,NfaToGrammar.StateAlias<TOKEN>> cache)