Создание программы на С++ для получения CFG из исходного cpp-файла
- формировать AST;
- выполнять его обход для сбора инфы о блоках;
- сбрасывать результаты обхода в файл .dot
- строить граф из содержимого dot-файла.
В процессе обхода требуется собирать информацию, связанную с инструкциями:
- if/else
- switch/case
- for
- while
- break
- continue
Результирующий граф (в файле png или jpg) должен охватывать абсолютно все вызываемые функции, а не демонстрировать какую-либо одну.
В требуемом варианте файл с исходным кодом на С++ передаётся на вход экзешника, после чего формируется граф.