Анализаторы C++ - жесткие для сборки.
Я не могу говорить с опытом о , используя ANTLR's C++ grammars. Here I discuss что я узнал, прочитав примечания, прикрепленные к тому, что я видел на сайте ANTLR; в сущности, автор подготовил неполную грамматику. И это было только для C++ 98. Прошло некоторое время с тех пор, как я посмотрел; могут быть и другие.
DMS Software Reengineering Toolkit имеет robust C++ front end.
Лексер обрабатывает весь хлам для ANSI, GCC3, MS Visual Studio 2008, включая номер большой точности с плавающей запятой и т.д.
[EDIT: 12/2011. Теперь обрабатывает директивы C++ 11 и OpenMP]
[EDIT: 3/2015: теперь обрабатывает C++ 14 как в GCC, так и в MS вариантах. See some parse trees here on SO]
Наличие «всего лишь» анализатора на самом деле не очень полезно. Помимо «просто синтаксического анализа» наш интерфейс будет строить АСТ, строить точные таблицы символов (для C++ это очень сложно сделать), выполнять анализ функций и локальных потоков и позволять выполнять программные преобразования и т. Д. См. Life After Parsing.
Я проверил ваш веб-сайт, кажется, что у вас есть интересные инструменты по разумным ценам, но ваш сайт может работать с какой-то работой как по структуре, так и по внешнему виду. –
@Andre: любые конструктивные замечания, которые вы можете сделать, приветствуются; мы всегда заинтересованы в улучшении. Отправьте письмо на адрес «[email protected]». –
Как ваш проект сравнивается, скажем, с [Clang] (http://clang.llvm.org/), который делает все, что вы говорите, бесплатно? Я шучу, но все равно интересуюсь вашим ответом! – rubenvb