Ich habe ein Modul, das automatisch (im Punktformat) Funktionen ausgibt, die in einer Art Assemblersprache (dem IR meines Compilers) geschrieben sind. Die Knoten sind die Grundblöcke, die mit der Form "record" gedruckt werden. Das Problem ist, dass die Kanten einen seltsamen Weg nehmen, zum Beispiel:
digraph {
node [shape = record];
n0[label="{<name> entry | <body> store i, 0\nstore sum, 0\ngoto test | {<target> target}}"];
n1[label="{<name> test | <body> t2 = load i\nif t4, body, done | {<true> true | <false> false}}"]
n2[label="{<name> body | <body> t5 = load sum\ngoto test | {<target> target}}"];
n3[color=firebrick3, label="{<name> done | <body> t9 = load sum\nret t9}}"];
n0:target:s -> n1:name:n
n1:true:s -> n2:name:n
n1:false:s -> n3:name:n
n2:target:s -> n1:name:n
}
Und ein Bild:
Was kann ich tun, damit die Kante von "Ziel" zu "Test" auf der linken Seite platziert wird?