another example with source code. But the state q3 is placed in the top side of the generated graph, which I don't like. It is not possible to place a arrow for the start circle without having the source->target syntax, so I did some workaround, by changing the color of the point to white and make it invisible, and it works!!
source code:
digraph finite_state_machine {
rankdir=LR;
ranksep=0.5;
node [shape = point, color=white, fontcolor=white]; start;
node [shape = doublecircle, color=black, fontcolor=black]; q3;
node [shape = circle]; q1;
start -> q1;
q1 -> q2 [ label = "a" ];
q2 -> q1 [ label = "a" ];
q2 -> q2 [ label = "b" ];
q3 -> q2 [ label = "a" ];
q3 -> q1 [ label = "b" ];
q1 -> q3 [ label = "b" ];
}
source code:
digraph finite_state_machine {
rankdir=LR;
ranksep=0.5;
node [shape = point, color=white, fontcolor=white]; start;
node [shape = doublecircle, color=black, fontcolor=black]; q3;
node [shape = circle]; q1;
start -> q1;
q1 -> q2 [ label = "a" ];
q2 -> q1 [ label = "a" ];
q2 -> q2 [ label = "b" ];
q3 -> q2 [ label = "a" ];
q3 -> q1 [ label = "b" ];
q1 -> q3 [ label = "b" ];
}
No comments:
Post a Comment