Grundlagen der Theoretischen Informatik

Aus Hochschule Darmstadt - Fachschaft Informatik Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Graph endlicher Automaten erstellen)
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: '== Graph endlicher Automaten erstellen == Mit Graphviz lassen sich diese Graphen sehr einfach erstellen.')
 
Zeile 1: Zeile 1:
 
== Graph endlicher Automaten erstellen ==
 
== Graph endlicher Automaten erstellen ==
Mit [http://www.graphviz.org/ Graphviz] können Graphen sehr einfach erzeugt werden.
+
Mit [[Graphviz]] lassen sich diese Graphen sehr einfach erstellen.
 
+
Beispiel:
+
 
+
[[Bild:Fsm.png]]
+
 
+
Zugehöriger Quellcode:
+
<source lang="dot">
+
digraph finite_state_machine {
+
rankdir=LR;
+
size="8,5"
+
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
+
node [shape = circle];
+
LR_0 -> LR_2 [ label = "SS(B)" ];
+
LR_0 -> LR_1 [ label = "SS(S)" ];
+
LR_1 -> LR_3 [ label = "S($end)" ];
+
LR_2 -> LR_6 [ label = "SS(b)" ];
+
LR_2 -> LR_5 [ label = "SS(a)" ];
+
LR_2 -> LR_4 [ label = "S(A)" ];
+
LR_5 -> LR_7 [ label = "S(b)" ];
+
LR_5 -> LR_5 [ label = "S(a)" ];
+
LR_6 -> LR_6 [ label = "S(b)" ];
+
LR_6 -> LR_5 [ label = "S(a)" ];
+
LR_7 -> LR_8 [ label = "S(b)" ];
+
LR_7 -> LR_5 [ label = "S(a)" ];
+
LR_8 -> LR_6 [ label = "S(b)" ];
+
LR_8 -> LR_5 [ label = "S(a)" ];
+
}
+
 
+
</source>
+
Erstellt werden kann der Graph sehr einfach über die Shell:
+
<source lang="bash">
+
dot -T$format -o$outfile $infile
+
</source>
+
$format  kann svg, svgz, png oder gif (und noch einige mehr) verwendet werden<br />
+
$infile  beschreibt die Eingabedatei (z.B.: fsm.vz)<br />
+
$outfile beschreibt die Ausgabedatei (z.B.: fsm.png)<br />
+
 
+
Für die Ausgabe der Datei "fsm.vz" als PNG in die Datei "fsm.png" würde der Aufruf also
+
<source lang="bash">
+
dot -Tpng -ofsm.png fsm.vz
+
</source>
+
lauten. Weitere Informationen kann man der [http://www.graphviz.org/Documentation.php Dokumentation] entnehmen.
+

Aktuelle Version vom 27. März 2009, 19:59 Uhr

[Bearbeiten] Graph endlicher Automaten erstellen

Mit Graphviz lassen sich diese Graphen sehr einfach erstellen.

Meine Werkzeuge