Это зависит от того, насколько точно вы хотите, чтобы анализ был. Если вы хотите, чтобы он был абсолютно точным (то есть не должен пропускать класс из-за какого-то слишком сложного макропрограммирования макросов или шаблонов, которое он не может обработать), тогда вам нужен надлежащий интерфейс C ++ для этого, и я не знаю любой, который является бесплатным и легко используется повторно.
Если вы готовы заплатить, то есть как минимум два варианта:
EDG используется для управления IntelliSense в VC ++ 2010, что довольно впечатляюще и, похоже, очень точно - по моему опыту, он правильно обрабатывал завершение полиморфного Boost.Lambda (неудивительно, учитывая, что он также управляет EDG). Компилятор C ++, который, очевидно, должен получить правильный ввод).
Я мало что знаю о веб-интерфейсе Semantic Design или его пользователях, но Ира Бакстер оттуда находится в StackOverflow, поэтому я предоставлю ему более подробную информацию об их продукте.
Если вы хотите бесплатно, но несовершенно, то, возможно, GCC_XML достаточно для вас.