Вообще, идея с C++, вероятно, самая перспективная. Можно начать реализовывать идею не дожидаясь создания полного инструментария. А насчет синтаксиса и визуализатора связей попробую я описать, как оно должно выглядеть. Создали Вы тег. Переменную, прототип функции или еще что. Придумали ей имя и при помощи системы контекстных меню задали, что это, всякие там publick, protected, к какому модулю относится и пр. Появилась запись в БД с именем этой сущности и описанием ее свойств.
Пишете Вы некий модуль. Набираете имя тега - и оно появляетя. Предварительно отфильтрованное - а что можно в этом месте использовать.
Пишите Вы некое действие. Выбрали один тег, другой и операнд какой. В другой базе данных, которая суть представление программы, оказывается несколько записей, которые ссылаются за "теговые" записи и тег операнда.
Хотите написать комментарий - ок. Быбираете, к какому элеименту он относится, и вводится текст. Он запоминается, вместе со связью.
Далее программная база визуализируется как код. На онове запросов к БД все раскрывается в обычный текст, но есть возможность устроить любую обработку - подсветить теги разных типов (причем не на основе примитивного парсера - колоризатора, а с глубоким смыслом: например, выделить одним цветом все локальные для модуля теги и другим - все внешние). Форматирование текста просходит полностью автоматически - с заданными отступами, стидями {} и форматированием комментария.
Далее такой же текстовый файл, только без колоризатора, кормится компилеру.