All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface Lisa.Scanner.Automata

public interface Automata
extends ScannerAutomata

Variable Index

 o cNoEdge
oznaci, da v avtomatu ni prehoda.

Method Index

 o convertToDeterministic()
spremeni nedeterministicni avtomat v deterministicni avtomat.
 o getEdge(int, int)
vrne prehod z oznako iz stanja.
 o getEdgeVector(int, int)
vren seznam stanj ob dolocenem prehodu.
 o getFiniteStateName(int)
vre ime stanja
 o getFiniteStateType(int)
vrne tip stanja
 o getFiniteVector(int)
vrne tipe stanja
 o getFreeState()
vren prosto stanje tj.
 o getMaxChar()
vrne vrednost "najvecjega" prehoda - znak po ASCII, ki se je pojavil v avtomatu.
 o getMaxState()
vrne stevilo stanj v avtomatu.
 o getMaxType()
vrne najvecji tip (stevilko) ki je bil dodeljen v avtomatu
 o getName(int)
vrne ime, ki je povezano z dolocenim tipom
 o getStartState()
vrne zacetno stanje avtomata.
 o getType(String)
vrne tip, ki je povezan z dolocenim imenom
 o isDeterministic()
ugotovi ali je avtomat deterministicen.
 o minimize()
minimizira avtomat.
 o removeEpsilonEdges()
poisce vsa stanja, ki jih je mozno doseci brez uporabe vhodnega znaka (z epsilon prehodi).
 o setEdge(int, int, int)
postavi prehod iz enega stanja v drugo stanje z doloceno oznako.
 o setFiniteState(int, int)
oznaci stanje kot koncno.
 o setStateName(int, String)
poimenuje stanje aState z imenom aType Poimenovanje je vezano na regularne definicije.

Variables

 o cNoEdge
 public static final int cNoEdge
oznaci, da v avtomatu ni prehoda.

Methods

 o 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
 o 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
 o 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
 o getFreeState
 public abstract int getFreeState()
vren prosto stanje tj. stanje iz katerga in v katerega ni nobenega prehoda.

Returns:
stevilka prostega stanja
 o 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
 o 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
 o 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.
 o getFiniteStateType
 public abstract int getFiniteStateType(int aState)
vrne tip stanja

Parameters:
aState - stan,katerega tip zelimo izvedeti
Returns:
tip stanja.
See Also:
setStateName
 o 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
 o 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
 o 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
 o isDeterministic
 public abstract boolean isDeterministic()
ugotovi ali je avtomat deterministicen.

Returns:
ture, ce je avtomat deterministicen, drugace false.
 o getMaxChar
 public abstract int getMaxChar()
vrne vrednost "najvecjega" prehoda - znak po ASCII, ki se je pojavil v avtomatu.

Returns:
sirino avtomata.
 o getMaxState
 public abstract int getMaxState()
vrne stevilo stanj v avtomatu.

 o 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.

 o getFiniteVector
 public abstract Vector getFiniteVector(int aState)
vrne tipe stanja

Parameters:
aState - stan,katerega tip zelimo izvedeti
Returns:
tip stanja.
See Also:
setStateName
 o 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
 o minimize
 public abstract boolean minimize() throws AutomataException
minimizira avtomat.

Throws: AutomataException
ce avtomat ni deterministicen.
 o getMaxType
 public abstract int getMaxType()
vrne najvecji tip (stevilko) ki je bil dodeljen v avtomatu


All Packages  Class Hierarchy  This Package  Previous  Next  Index