Похоже, вы могли бы использовать graphviz - www.graphviz.org. Это программный пакет, который берет график (например, AST или, возможно, любую другую интересную структуру данных компилятора) и генерирует координаты для каждого узла графа, чтобы вы могли нарисовать график по этой координате, и он будет выглядеть достаточно хорошо.
Вы можете использовать это для реализации своих собственных процедур рисования (я полагаю, в Qt Canvas) или для использования собственных программ graphviz.