На первом предположении я бы сказал, что вам нужно построить компилятор С с нуля (или кооптировать один) и проверить дерево синтаксического анализа, ищущего конструкции, которые вы можете представить с помощью своего списка простых символов. После того, как вы это сделали, вам понадобится механизм рендеринга, чтобы взять список обнаруженных конструкций и выложить их в красивую картинку.
Некоторые случайные наблюдения:
Есть много понятий C, которые не могут быть оказаны в упрощенном порядке (то есть указатели)
Создание ПОС выглядеть довольно будет суки
Doxygen было бы хорошим местом для поиска идей (сделать хороший график структуры функций)
Отключение по касательной, вы можете посмотреть на языки программирования IEC 61131-3 для ПЛК. Это графически выложенные языки, которые предоставляют 5 различных способов описания управления программой и в значительной степени фокусируются на представлениях логики.
Хотя это звучит как потенциально интересный вопрос, то, что вы просите, звучит ОЧЕНЬ открытое. –
Если у вас нет большого количества исходного кода в вашей команде и/или иметь много информации об оборудовании, вы не сможете это сделать для многих вызовов библиотеки. –
Я подозреваю, что Googling для «SystemC» даст вам некоторые идеи. Как и Verilog и VHDL, он был первоначально ориентирован прежде всего на моделирование, но теперь есть синтезируемое подмножество - возможность писать код в SystemC (который на самом деле является C++ с библиотекой классов) и скомпилировать его в реальную схему, которую вы можете затем положить во что-то вроде CPLD, FPGA или, возможно, ASIC. –