LINUX.ORG.RU

cscope читаемая бд

 , ,


0

2

Добрый день, мне нужно получить файл со списком функций проекта С++ и вызовов из этих функций. Cscope вроде это умеет, то бд, в котором хранится дерево вызовов, хранится в каком-то сжатом формате и нечитаема ни человеком, ни парсером. А хочется что бы можно было распарсить. Реально ли это сделать со cscope? И если нет, то как такое сделать в ctags?
БД генерируется так:

 find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" > cscope.files
 cscope -q -R -b -i cscope.files

★★★★

В чём проблема прочитать исходники cscope и разобраться в формате?

Legioner ★★★★★ ()
Ответ на: комментарий от Legioner

потому что более чем уверен что вопрос решается одной опцией, или в крайнем случае — заменой cscope на что-то другое.

comp00 ★★★★ ()

А что cscope уже умеет C++? Да еще call-graph, для которого нужно очень точно все references находить с учетом семантики (препроцессор/шаблоны/перегрузки)?

kamre ★★★ ()
Ответ на: комментарий от kamre

Умеет. Насколько плохо^Wхорошо — другой вопрос, ответ на который вариативен от сложности проекта. Прогнал несколько своих проетов — все хорошо. Сейчас сорцы ядра прогоняются, посмотрим как будет дальше. Я парсил все декларации ctags, потому макросы учитываются. Перегрузки мой велосипед не умеет, ибо в моем случае не нужно, но устроить можно (поизвращаясь парсингом). Я же брал только имя и все

comp00 ★★★★ ()

Кстати, проблему решил парсингом самим cscope, предварительно сформировав список всех деклараций функций с помощью ctags

comp00 ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.