All Packages Class Hierarchy This Package Previous Next Index
Interface Lisa.Scanner.Automata
- public interface Automata
- extends ScannerAutomata
-
cNoEdge
- oznaci, da v avtomatu ni prehoda.
-
convertToDeterministic()
- spremeni nedeterministicni avtomat v deterministicni avtomat.
-
getEdge(int, int)
- vrne prehod z oznako iz stanja.
-
getEdgeVector(int, int)
- vren seznam stanj ob dolocenem prehodu.
-
getFiniteStateName(int)
- vre ime stanja
-
getFiniteStateType(int)
- vrne tip stanja
-
getFiniteVector(int)
- vrne tipe stanja
-
getFreeState()
- vren prosto stanje tj.
-
getMaxChar()
- vrne vrednost "najvecjega" prehoda - znak po ASCII, ki se je pojavil v avtomatu.
-
getMaxState()
- vrne stevilo stanj v avtomatu.
-
getMaxType()
- vrne najvecji tip (stevilko) ki je bil dodeljen v avtomatu
-
getName(int)
- vrne ime, ki je povezano z dolocenim tipom
-
getStartState()
- vrne zacetno stanje avtomata.
-
getType(String)
- vrne tip, ki je povezan z dolocenim imenom
-
isDeterministic()
- ugotovi ali je avtomat deterministicen.
-
minimize()
- minimizira avtomat.
-
removeEpsilonEdges()
- poisce vsa stanja, ki jih je mozno doseci brez uporabe vhodnega znaka (z epsilon prehodi).
-
setEdge(int, int, int)
- postavi prehod iz enega stanja v drugo stanje z doloceno oznako.
-
setFiniteState(int, int)
- oznaci stanje kot koncno.
-
setStateName(int, String)
- poimenuje stanje aState z imenom aType
Poimenovanje je vezano na regularne definicije.
cNoEdge
public static final int cNoEdge
- oznaci, da v avtomatu ni prehoda.
setEdge
public abstract void setEdge(int aState,
int aCharacter,
int aNextState) throws AutomataException
- postavi prehod iz enega stanja v drugo stanje z doloceno oznako.
- Parameters:
- aState - izvorno stanje
- aCharacter - pogoj prehoda oznaka ime povezave
- aNextState - ciljno stanje
- Throws: AutomataException
- v primeru napake v avtomatu
setFiniteState
public abstract void setFiniteState(int aState,
int aType)
- oznaci stanje kot koncno.
Koncno stanje ima v avtomatu poseben pomen. Ce je stanje koncno pomeni, da je vhodni niz prepoznan kot regularni izraz tipa koncnega stanja.
- Parameters:
- aState - stanje, ki ga zelomo oznaciti
- aType - tip stanja
- See Also:
- setStateName
setStateName
public abstract void setStateName(int aState,
String aName)
- poimenuje stanje aState z imenom aType
Poimenovanje je vezano na regularne definicije. Uporabnik poda vsaki regularni definiciji ime in se nanjo nanasa v drugih delih projekta. Zato je nujno potrebno, da je ime koncnega stanja - povezano s tipom znano.
- Parameters:
- aState - stanje, ki ga zelomo oznaciti
- aType - tip stanja
- See Also:
- setStateName
getFreeState
public abstract int getFreeState()
- vren prosto stanje tj. stanje iz katerga in v katerega ni nobenega prehoda.
- Returns:
- stevilka prostega stanja
getStartState
public abstract int getStartState()
- vrne zacetno stanje avtomata.
Zacetno stanje ima poseben pomen. Automat se ob napaki postavi v zacetno stanje.
- Returns:
- zacetno stanje
getEdge
public abstract int getEdge(int aState,
int aCharacter) throws AutomataException
- vrne prehod z oznako iz stanja.
V deterministicnem avtomatu obstaja iz vsakega stanja ob eni oznaki najvec en prehod. Ta funkcija se uporablja ob predpostavki, da je avtomat deterministicen. Ce prehod ni deterministicen pride do izjeme.
- Parameters:
- aState - treuntno stanje
- aCharacter - oznaka prehoda, ki ga zelimo uporabit.
- Returns:
- novo stanje, ki ga dobimo s sledenjem prehodu oz. cNoEdge, ce prehod ne obstaja
- Throws: AutomataException
- v primeru, da obstaja vec prehodov v razlicna stanja z isto oznako.
- See Also:
- getEdgeVector
getEdgeVector
public abstract int[] getEdgeVector(int aState,
int aCharacter)
- vren seznam stanj ob dolocenem prehodu.
Se lahko uporablja tako pri deterministicnemu ali nedeterministicnemu avtomatu.
- Parameters:
- aState - trenutno stanje
- Returns:
- seznam stanj, ki jih dobimo s prehodom aCharacter. Ce ni nobenega prehoda se vrne prazen seznam.
getFiniteStateType
public abstract int getFiniteStateType(int aState)
- vrne tip stanja
- Parameters:
- aState - stan,katerega tip zelimo izvedeti
- Returns:
- tip stanja.
- See Also:
- setStateName
getName
public abstract String getName(int aType)
- vrne ime, ki je povezano z dolocenim tipom
- Parameters:
- aType - tip, katerega ime zelimo izvedeti
- Returns:
- ime tipa. Ce obstaja vec poimenovanj za en tip, se vrne ime z najnizo stevilko stanja.
- See Also:
- getType
getType
public abstract int getType(String aName)
- vrne tip, ki je povezan z dolocenim imenom
- Parameters:
- aName - ime stanja
- Returns:
- tip stanja. Ce je vec koncnih stanj povezanih s tem tipom se vrne stanje z najnizo oznako.
- See Also:
- getName
getFiniteStateName
public abstract String getFiniteStateName(int aState)
- vre ime stanja
- Parameters:
- aState - stanje
- Returns:
- ime stanja, ce stanje nima imena vrne null
- See Also:
- setStateName
isDeterministic
public abstract boolean isDeterministic()
- ugotovi ali je avtomat deterministicen.
- Returns:
- ture, ce je avtomat deterministicen, drugace false.
getMaxChar
public abstract int getMaxChar()
- vrne vrednost "najvecjega" prehoda - znak po ASCII, ki se je pojavil v avtomatu.
- Returns:
- sirino avtomata.
getMaxState
public abstract int getMaxState()
- vrne stevilo stanj v avtomatu.
removeEpsilonEdges
public abstract void removeEpsilonEdges() throws AutomataException
- poisce vsa stanja, ki jih je mozno doseci brez uporabe vhodnega znaka (z epsilon prehodi).
Avtomat z epsilon prehodi je avtomatsko nedetrministicen. Epsilon prehod pomen, da med stanji lahko prehajamo, ne da bi uporabljali oznake prehodov - stanja so nekako ekvivalentna.
getFiniteVector
public abstract Vector getFiniteVector(int aState)
- vrne tipe stanja
- Parameters:
- aState - stan,katerega tip zelimo izvedeti
- Returns:
- tip stanja.
- See Also:
- setStateName
convertToDeterministic
public abstract boolean convertToDeterministic() throws AutomataException
- spremeni nedeterministicni avtomat v deterministicni avtomat.
v primeru, da je zacetno stanje nedeterministicni naslednik kaksnega drugega stanja sprememba ne uspe.
- Returns:
- true, ce je pretvorba uspela
- Throws: AutomataException
- ce je prislo do napake v avtomatu
minimize
public abstract boolean minimize() throws AutomataException
- minimizira avtomat.
- Throws: AutomataException
- ce avtomat ni deterministicen.
getMaxType
public abstract int getMaxType()
- vrne najvecji tip (stevilko) ki je bil dodeljen v avtomatu
All Packages Class Hierarchy This Package Previous Next Index