public class EndlicherAutomat
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected int |
_anzahlZustaende
Anzahl der Zustände dieses endlichen Automaten
|
protected Zustand |
_momentZustand
Momentaner Zustand dieses endlichen Automaten
|
protected Zustand[] |
_zustaende
In diesem Feld werden alle mögliche Zustände dieses
endlichen Automaten gespeichert
|
Constructor and Description |
---|
EndlicherAutomat()
Erzeugt einen neuen endlichen Auotmaten
|
EndlicherAutomat(int maxZustaende)
Erzeugt einen neuen endlichen Auotmaten mit einer
maximalen Anzahl von Zuständen
|
EndlicherAutomat(int maxZustaende,
Zustand initialZustand)
Erzeugt einen neuen endlichen Auotmaten mit einer
maximalen Anzahl von Zuständen und einem
initialen Zustand
|
EndlicherAutomat(Zustand initialZustand)
Erzeugt einen neuen endlichen Auotmaten mit einem
initialen Zustand
|
Modifier and Type | Method and Description |
---|---|
int |
berechneUebergang(Zustand start,
Zustand ende)
Berechnet für gegebenen Anfang-und Endzustand die Id des Übergangs.
|
int |
getAnzahlZustaende()
Bestimme die Anzahl der Zustände dieses endlichen Automaten
|
Zustand |
getMomentZustand()
Bestimmt den momentanen Zustand dieses endlichen Automaten
|
Zustand |
getZustand(int i)
Bestimme den gegebenen Zustand dieses endlichen Automaten
|
void |
hinzufuegenUebergang(Zustand start,
int uebergang,
Zustand end)
Fügt diesem endlichen Automaten einen neuen Zustands-Übergang hinzu.
|
int |
hinzufuegenZustaende(Zustand[] zustaende)
Fügt diesem endlichen Automaten ein Feld von Zuständen hinzu
|
int |
hinzufuegenZustand(Zustand zustand)
Fügt diesem endlichen Automaten einen neuen Zustand hinzu.
|
void |
loescheAlleZustaende()
Lösche alle Zustände dieses endlichen Automaten
|
Zustand |
realisiereUebergang(int uebergang)
Realisiert den gegebenen Übergang für diesen endlichen Automaten.
|
void |
setZustand(Zustand zustand)
Setze den momentanen Zustand dieses endlichen Automaten
|
protected int _anzahlZustaende
protected Zustand _momentZustand
protected Zustand[] _zustaende
public EndlicherAutomat()
public EndlicherAutomat(int maxZustaende)
maxZustaende
- maximale Anzahl Zuständepublic EndlicherAutomat(Zustand initialZustand)
initialZustand
- der initiale Zustandpublic EndlicherAutomat(int maxZustaende, Zustand initialZustand)
maxZustaende
- maximale Anzahl ZuständeinitialZustand
- der initiale Zustandpublic Zustand getMomentZustand()
public int hinzufuegenZustand(Zustand zustand)
zustand
- der neue Zustandpublic void setZustand(Zustand zustand)
zustand
- der zu setzende momentane Zustandpublic int hinzufuegenZustaende(Zustand[] zustaende)
zustaende
- das hinzuzufügende Feld von Zuständenpublic void loescheAlleZustaende()
public void hinzufuegenUebergang(Zustand start, int uebergang, Zustand end)
start
- der Anfangszustand des neuen Übergangsuebergang
- die Id des neuen Übergangsend
- der Endzustand des neuen Übergangspublic Zustand realisiereUebergang(int uebergang) throws java.lang.IllegalStateException
uebergang
- Id des Übergangs, der realisiert werden solljava.lang.IllegalStateException
- falls der gegebene Übergang für diesen
endlchen Automaten nicht definiert istpublic int berechneUebergang(Zustand start, Zustand ende) throws java.lang.UnsupportedOperationException
start
- der Anfangs-Zustand des zu berechnenden Übergangsende
- der End-Zustand des zu berechnenden Übergangsjava.lang.UnsupportedOperationException
- falls ein Übergang von start
zu ende für diese Instanz nicht definiert istpublic Zustand getZustand(int i)
i
- Index des zurückzugebenden Zustandspublic int getAnzahlZustaende()