История изменений
Исправление tp_for_my_bunghole, (текущая версия) :
Может для чего-то простого реализовать нормальный сервер не проблема, но вот в годный крестовый сервер я уже слабо верю
Решение элементарно. Пишешь свой компилятор который не генерирует исполняемый код а только смотрит «что есть что» во время компиляции и сохраняет это в базу. Видит вывод после макропроцессора, какие ветки макросов активны(для подсветки кода). В Emacs есть плагин ggtags для «C»(в основном) у которого уже есть готовый стандарт базы данных в виде файлов именно для этого, то есть остаётся только сделать этот компилятор заполняющий эту базу.
Систему сборки C++ проекта нужно только пропустить через этот компилятор вместо GCC/Clang - и точная аналитика по всему проекту готова в виде файла для ggtags.
Вообще это одна из интересных областей для написания кода, компиляторы, и при этом нет трудной рутинной части в генерации нативного кода. Но то что это до сих пор не начали говорит больше о тех кто пишет C++, они и так страдают на работе наверное и мотивации нет.
В проект RTags продолжают коммитить, но не попадались на пути восхищения этим подходом. Что и как там работает - непонятно.
Есть в Emacs и cedet со своим форматом, хорошим интерфейсом и API, автор Alex Ott упоминаемый на первой странице комментов. Проект к которому можно было бы пристроить анализатор-компилятор.
https://alexott.net/ru/index.html
Исправление tp_for_my_bunghole, :
Может для чего-то простого реализовать нормальный сервер не проблема, но вот в годный крестовый сервер я уже слабо верю
Решение элементарно. Пишешь свой компилятор который не генерирует исполняемый код а только смотрит «что есть что» во время компиляции и сохраняет это в базу. Видит вывод после макропроцессора, какие ветки макросов активны(для подсветки кода). В Emacs есть плагин ggtags для «C»(в основном) у которого уже есть готовый стандарт базы данных в виде файлов именно для этого, то есть остаётся только сделать этот компилятор заполняющий эту базу.
Систему сборки C++ проекта нужно только пропустить через этот компилятор вместо GCC/Clang - и точная аналитика по всему проекту готова в виде файла для ggtags.
Вообще это одна из самых интересных областей для написания кода, компиляторы, и при этом нет трудной рутинной части в генерации нативного кода. Но то что это до сих пор не начали говорит больше о тех кто пишет C++, они и так страдают на работе наверное и мотивации нет.
В проект RTags продолжают коммитить, но не попадались на пути восхищения этим подходом. Что и как там работает - непонятно.
Исходная версия tp_for_my_bunghole, :
Может для чего-то простого реализовать нормальный сервер не проблема, но вот в годный крестовый сервер я уже слабо верю
Решение элементарно. Пишешь свой компилятор который не генерирует исполняемый код а только смотрит «что есть что» во время компиляции и сохраняет это в базу. Видит вывод после макропроцессора, какие ветки макросов активны(для подсветки кода). В Emacs есть плагин ggtags для «C»(в основном) у которого уже есть готовый стандарт базы данных в виде файлов именно для этого, то есть остаётся только сделать этот компилятор заполняющий эту базу.
Систему сборки C++ проекта нужно только пропустить через этот компилятор вместо GCC/Clang - и точная аналитика по всему проекту готова в виде файла для ggtags. Вообще это одна из самых интересных областей для написания кода, компиляторы, и при этом нет трудной рутинной части в генерации нативного кода. Но то что это до сих пор не начали говорит больше о тех кто пишет C++, они и так страдают на работе наверное и мотивации нет.