Child pages
  • Reguläre Ausdrücke
Skip to end of metadata
Go to start of metadata

Bei regulären Ausdrücken handelt es sich im wesentlichen um Bäume. Somit werden die inneren Knoten eines Baumes durch Konkatenation, Alternation und dem Kleene Start repräsentiert. Die Blätter hingegen werden durch das Epsilon oder durch Literale dargestellt.

Der Visualisierung unterliegt ein Metamodell der Regulären Ausdrücke. Es ist zu erkenne das alle Elemente (Alternation, Konkatenation, Kleene Star, Epsilon und Literale) wiederum Reguläre Ausdrücke sind. Somit werden für alle Elemente identische dispatch Methoden bereitgestellt die dann rekursiv aufgerufen werden um die Knoten des Graphen zu erzeugen.

Ein Beispiel:

Die Abbildungen zeigt eine Visualisierung der regulären Ausdrucks ( a | (eps . b ) ) * . Alle Elemente des regulären Ausdrucks werden als Knoten in dem Baum dargestellt. Innere Knoten werden dabei anders dargestellt als die Blätter.

Der Visualisierung wird ein regulärer Ausdruck übergeben. Im ersten Schritt werden alle Knoten des regulären Ausdrucks erzeugt. Das geschieht mit Hilfe der rekursiven dispatch Methoden. Sie zeichnen für jedes Element einen Knoten und beschriften ihn entsprechend.

Um nun den Baum, also die Verbindungen zwischen den Knoten zu zeichnen, wird der reguläre Ausdruck erneut rekursiv durchlaufen. Da nun alle Knoten bereits gezeichnet sind und mit ihren ursprünglichen Element assoziiert werden, können die Verbindungen zwischen den jeweiligen gezeichneten Knoten gezeichnet werden.

Die Knoten können alle eine feste Größe aufweisen da die Länge der Beschriftung der Knoten nicht variiert.

 

 

  • No labels