Обнаружение / перечисление объявлений переменных в C - PullRequest
1 голос
/ 09 сентября 2011

Я хотел бы перечислить все переменные, которые были объявлены в моей C-программе для анализа.Есть ли простой способ сделать это?Я думаю, что создание лексера только для этой цели было бы громоздким.Есть ли другой способ?

Ну, я думаю, мне нужно быть более ясным :-).Я намереваюсь проанализировать много файлов C, используя библиотеку C, которую я намереваюсь написать, которая должна иметь эту функциональность.Следовательно, было бы здорово, если бы я мог сделать это с помощью C (поскольку он может интегрироваться с моей библиотекой).Однако я могу предварительно обработать на любом другом языке.Но это увеличит зависимости.

Ответы [ 3 ]

2 голосов
/ 09 сентября 2011

Вам, вероятно, все равно придется написать довольно мощный парсер, если вы хотите обрабатывать typedef и так далее.Возможно, вы захотите посмотреть, используя clang / llvm - вы, вероятно, можете изменить его так, чтобы выводить нужные вам данные довольно легко.

1 голос
/ 09 сентября 2011

cscope (http://cscope.sourceforge.net/) может идентифицировать и индексировать все символы в вашей программе и имеет режим командной строки для запроса базы данных символов из командной строки или инструментов GUI.

1 голос
/ 09 сентября 2011

Для правильного выполнения работы требуется значительная часть препроцессора C и лексического анализатора, что довольно много для компилятора C.

Делать работу ad hoc проще - но вы сами выбираете, какad hoc ты будешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...