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