III>определение, в общем задача состоит в том чтобы определить какие функции определены в модуле, т.е. начало и собственно конец, там где функция закончилась.
Что будем делать с макросами, которые разворачиваются в определение функций?
с #if 0 / #endif ?
одним регэкспом я бы такое делать не стал.
Как минимум сначала пройтись "препроцессором" (макросы/диграфы/триграфы и удаление комментариев), тогда в чистом коде найти функции в "современном" виде найти будет несложно. Если не требуется находить еще и стиль K&R.