Class Automat

java.lang.Object
  |
  +--Automat
Direct Known Subclasses:
TestAutomat

public class Automat
extends java.lang.Object

beschreibt vollständig einen endlichen Automaten

Version:
990524
Author:
Christian Heinemann <heinemann@bigfoot.de>

Field Summary
protected  java.util.Vector endzustaende
          die Menge der Endzustände (Vector[Zustand])
private  Zustand startzustand
          Startzustand des Automaten
protected  java.util.Vector uebersetzung
          beschreibt die Übersetzung der Zustandsnummern (Vector[Integer])
protected  java.util.Vector zustaende
          die Zustaende des Automaten (Vector[Zustand])
 
Constructor Summary
Automat(AutomatenParameter parameter)
          Konstruiert einen Automaten aus den Parametern
 
Method Summary
private  int addUebersetzung(int zustand)
          fügt einen Zustand zur Übersetzungtabelle hinzu
 Graph generiereGraph()
          erstellt einen Basisgraphen aus dem Automaten
 java.util.Vector getFolgezustaende(Zustand zustand, char eingabe)
          ermittelt die Menge der Folgezustände
 Zustand getStartzustand()
          liefert den Startzustand
 Zustand getZustand(int eindex)
          Liefert ein Zustandsobjekt passend zum Index oder erstellt ein neues
 boolean isEndzustand(Zustand zustand)
          prüft, ob Zustand ein Endzustand ist
private  boolean isStartzustand(Zustand zustand)
          liefert, ob der Zustand Startzustand ist
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

startzustand

private Zustand startzustand
Startzustand des Automaten

endzustaende

protected java.util.Vector endzustaende
die Menge der Endzustände (Vector[Zustand])

uebersetzung

protected java.util.Vector uebersetzung
beschreibt die Übersetzung der Zustandsnummern (Vector[Integer])

zustaende

protected java.util.Vector zustaende
die Zustaende des Automaten (Vector[Zustand])
Constructor Detail

Automat

public Automat(AutomatenParameter parameter)
Konstruiert einen Automaten aus den Parametern
Parameters:
parameter - Objekt mit den Automatenparametern
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

generiereGraph

public Graph generiereGraph()
erstellt einen Basisgraphen aus dem Automaten

addUebersetzung

private int addUebersetzung(int zustand)
fügt einen Zustand zur Übersetzungtabelle hinzu
Parameters:
zustand - externe Zustandsnummer aus der Eingabe
Returns:
interne Zustandsnummer

getZustand

public Zustand getZustand(int eindex)
Liefert ein Zustandsobjekt passend zum Index oder erstellt ein neues
Parameters:
eindex - Zustandsindex (extern)
Returns:
Zustandsobjekt

getStartzustand

public final Zustand getStartzustand()
liefert den Startzustand
Returns:
Startzustand

getFolgezustaende

public final java.util.Vector getFolgezustaende(Zustand zustand,
                                                char eingabe)
ermittelt die Menge der Folgezustände
Parameters:
zustand - der aktuelle Zustand
eingabe - das zu verarbeitende Zeichen

isEndzustand

public boolean isEndzustand(Zustand zustand)
prüft, ob Zustand ein Endzustand ist
Parameters:
zustand - zu prüfender Zustand

isStartzustand

private boolean isStartzustand(Zustand zustand)
liefert, ob der Zustand Startzustand ist