Как найти функцию по слову в теле ?
От: Kvd  
Дата: 17.12.09 20:06
Оценка:
Собственно вопрос: как найти имя С функции в теле которой есть ключевое слово (или рег.выражение в общем случае) ?
Это конечно можно сделать Source Insight или Source Navigator, но как это сделать в командной строке желательно Линукса ?
Алгоритм прост и ясен, а средства кроме LXR и grep в голову не приходят.
Заклинило, панимаешь
Да, забыл сказать что есть кодовая база из нескольких сотен файлов на С и среди них надо найти все файлы и функции, содеожащии это слово. Оно в комментарии если уж совсем конкретно.
Грепом то я нашел все файлы и номер строчки вхождения. А вот как найти имя фунции ?
Народ, дайте наводку пожалуйста.
lxr grep
Re: Как найти функцию по слову в теле ?
От: byleas  
Дата: 23.12.09 16:26
Оценка:
Здравствуйте, Kvd, Вы писали:

Kvd>Грепом то я нашел все файлы и номер строчки вхождения. А вот как найти имя фунции ?

Я не особо силён в этом, но попробовал бы либо полноценное perl-regexp (в котором было бы выделение имени функции с наличием "спереди" искомого слова (?=)), либо просто поиск слова grep'ом с каким-то количеством строк выше (--before-context), чтобы заголовок функции наверняка попал бы сюда, и, опять же, выделение последнего имени функции в этом контексте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.