用Graphviz排序过渡布局
我正在将正则表达式转换为有限自动机,并且需要“优先”转换。目前,我正在通过使用优先级标记各个转换来实现这一点。是否有一种直接“排序”转换的方法,即能够将一个转换置于另一个转换之上?例如,给定Graphviz输入:用Graphviz排序过渡布局,graphviz,dot,Graphviz,Dot,我正在将正则表达式转换为有限自动机,并且需要“优先”转换。目前,我正在通过使用优先级标记各个转换来实现这一点。是否有一种直接“排序”转换的方法,即能够将一个转换置于另一个转换之上?例如,给定Graphviz输入: digraph finite_state_machine { rankdir = LR; size="8,5" node [shape = doublecircle]; 5; node [shape = circle]; 0 -> 1 [l
digraph finite_state_machine {
rankdir = LR;
size="8,5"
node [shape = doublecircle]; 5;
node [shape = circle];
0 -> 1 [label = "(0) ε"];
1 -> 2 [label = "(0) ε"];
2 -> 3 [label = "(0) ε"];
3 -> 5 [label = "(0) ε"];
3 -> 4 [label = "(1) ε"];
4 -> 3 [label = "(0) A-Z"];
6 -> 0 [label = "(0) ε"];
}
输出如下所示:
如果可能的话,我希望低优先级的转换总是“高于”高优先级的转换。这可以通过graphviz实现吗?我使用关键字“rank”和“priority”在线搜索,但没有找到任何内容。rank=same应该允许您对节点进行排序/优先级排序,但rankdir LR时Graphviz中存在一个错误