choco.kernel.model.constraints.automaton.FA
Class FiniteAutomaton
java.lang.Object
choco.kernel.model.constraints.automaton.FA.FiniteAutomaton
- All Implemented Interfaces:
- IAutomaton
- Direct Known Subclasses:
- CostAutomaton
public class FiniteAutomaton
- extends Object
- implements IAutomaton
Created by IntelliJ IDEA.
User: julien
Date: Mar 15, 2010
Time: 12:53:23 PM
Method Summary |
ArrayList<int[]> |
_removeSymbolFromAutomaton(int alpha)
|
void |
addEpsilon(int source,
int destination)
|
int |
addState()
|
void |
addToAlphabet(int a)
|
void |
addTransition(int source,
int destination,
int... symbols)
|
FiniteAutomaton |
clone()
|
FiniteAutomaton |
complement()
|
FiniteAutomaton |
complement(gnu.trove.TIntHashSet alphabet)
|
FiniteAutomaton |
concatenate(FiniteAutomaton otherI)
|
void |
deleteTransition(int source,
int destination,
int symbol)
|
int |
delta(int source,
int symbol)
|
void |
delta(int source,
int symbol,
gnu.trove.TIntHashSet states)
|
void |
fill(dk.brics.automaton.Automaton a,
gnu.trove.TIntHashSet alphabet)
|
gnu.trove.TIntHashSet |
getAlphabet()
|
static char |
getCharFromInt(int i)
|
gnu.trove.TIntHashSet |
getFinalStates()
|
int |
getInitialState()
|
static int |
getIntFromChar(char c)
|
int |
getNbStates()
|
int |
getNbSymbols()
|
gnu.trove.TIntArrayList |
getOutSymbols(int source)
|
int[] |
getOutSymbolsArray(int source)
|
List<int[]> |
getTransitions()
|
List<int[]> |
getTransitions(int state)
|
FiniteAutomaton |
intersection(IAutomaton otherI)
|
boolean |
isDeterministic()
|
boolean |
isFinal(int state)
|
dk.brics.automaton.Automaton |
makeBricsAutomaton()
|
static int |
max(gnu.trove.TIntHashSet hs)
|
void |
minimize()
|
void |
reduce()
|
void |
removeDeadTransitions()
|
void |
removeFromAlphabet(int a)
|
void |
removeSymbolFromAutomaton(int symbol)
|
IAutomaton |
repeat()
|
IAutomaton |
repeat(int min)
|
IAutomaton |
repeat(int min,
int max)
|
boolean |
run(int[] word)
|
void |
setDeterministic(boolean deterministic)
|
void |
setFinal(int... states)
|
void |
setFinal(int state)
|
void |
setInitialState(int state)
|
void |
setNonFInal(int... states)
|
void |
setNonFinal(int state)
|
String |
toDot()
|
void |
toDotty(String f)
|
FiniteAutomaton |
union(FiniteAutomaton otherI)
|
charFromIntMap
protected static gnu.trove.TIntIntHashMap charFromIntMap
intFromCharMap
protected static gnu.trove.TIntIntHashMap intFromCharMap
LOGGER
public static Logger LOGGER
representedBy
protected dk.brics.automaton.Automaton representedBy
stateToIndex
protected gnu.trove.TObjectIntHashMap<dk.brics.automaton.State> stateToIndex
states
protected ArrayList<dk.brics.automaton.State> states
alphabet
protected gnu.trove.TIntHashSet alphabet
nbStates
protected int nbStates
FiniteAutomaton
public FiniteAutomaton()
FiniteAutomaton
public FiniteAutomaton(String regexp)
FiniteAutomaton
public FiniteAutomaton(FiniteAutomaton other)
getIntFromChar
public static int getIntFromChar(char c)
getCharFromInt
public static char getCharFromInt(int i)
max
public static int max(gnu.trove.TIntHashSet hs)
fill
public void fill(dk.brics.automaton.Automaton a,
gnu.trove.TIntHashSet alphabet)
getNbStates
public int getNbStates()
- Specified by:
getNbStates
in interface IAutomaton
getNbSymbols
public int getNbSymbols()
addState
public int addState()
removeSymbolFromAutomaton
public void removeSymbolFromAutomaton(int symbol)
addTransition
public void addTransition(int source,
int destination,
int... symbols)
deleteTransition
public void deleteTransition(int source,
int destination,
int symbol)
delta
public int delta(int source,
int symbol)
throws IAutomaton.NonDeterministicOperationException
- Specified by:
delta
in interface IAutomaton
- Throws:
IAutomaton.NonDeterministicOperationException
delta
public void delta(int source,
int symbol,
gnu.trove.TIntHashSet states)
- Specified by:
delta
in interface IAutomaton
getOutSymbols
public gnu.trove.TIntArrayList getOutSymbols(int source)
getOutSymbolsArray
public int[] getOutSymbolsArray(int source)
addToAlphabet
public void addToAlphabet(int a)
removeFromAlphabet
public void removeFromAlphabet(int a)
getInitialState
public int getInitialState()
- Specified by:
getInitialState
in interface IAutomaton
isFinal
public boolean isFinal(int state)
- Specified by:
isFinal
in interface IAutomaton
setInitialState
public void setInitialState(int state)
setFinal
public void setFinal(int state)
setFinal
public void setFinal(int... states)
setNonFinal
public void setNonFinal(int state)
setNonFInal
public void setNonFInal(int... states)
run
public boolean run(int[] word)
- Specified by:
run
in interface IAutomaton
makeBricsAutomaton
public dk.brics.automaton.Automaton makeBricsAutomaton()
repeat
public IAutomaton repeat()
repeat
public IAutomaton repeat(int min)
repeat
public IAutomaton repeat(int min,
int max)
minimize
public void minimize()
reduce
public void reduce()
removeDeadTransitions
public void removeDeadTransitions()
union
public FiniteAutomaton union(FiniteAutomaton otherI)
intersection
public FiniteAutomaton intersection(IAutomaton otherI)
complement
public FiniteAutomaton complement(gnu.trove.TIntHashSet alphabet)
complement
public FiniteAutomaton complement()
concatenate
public FiniteAutomaton concatenate(FiniteAutomaton otherI)
addEpsilon
public void addEpsilon(int source,
int destination)
isDeterministic
public boolean isDeterministic()
setDeterministic
public void setDeterministic(boolean deterministic)
getFinalStates
public gnu.trove.TIntHashSet getFinalStates()
toDotty
public void toDotty(String f)
toDot
public String toDot()
getAlphabet
public gnu.trove.TIntHashSet getAlphabet()
getTransitions
public List<int[]> getTransitions()
getTransitions
public List<int[]> getTransitions(int state)
_removeSymbolFromAutomaton
public ArrayList<int[]> _removeSymbolFromAutomaton(int alpha)
clone
public FiniteAutomaton clone()
throws CloneNotSupportedException
- Specified by:
clone
in interface IAutomaton
- Overrides:
clone
in class Object
- Throws:
CloneNotSupportedException
Copyright © 2012. All Rights Reserved.