Какие алгоритмы компоновки графа работают для синтаксических деревьев с упорядоченными дочерними элементами?
Я хотел бы отобразить синтаксические деревья, где порядок узлов слева направо является фиксированным. Например, узел с if
, then
, а также else
ветви должны отображать их в таком порядке.
Вот изображение Дагре, не делающего это должным образом. Числа указывают идентификаторы элементов, а также порядок, в котором они были добавлены, и все же узел 2 отображается слева от узла 1:
Какие алгоритмы компоновки позволяют управлять отображаемым порядком исходящих ребер? Есть ли способ заставить Дагре сделать это? Это не обязательно должно обрабатывать не-графы дерева. Спасибо!