Вы не хотите создавать свой собственный синтаксический анализатор C ++. Это тебя убьет.
Вы уже знаете о проекте Eclipse CDT:
www.ibm.com/developerworks/library/os-ecl-cdt3/index.html
AFAIK, этот парсер, ну, немного нечеткий по краям. YMMV.
Преимущество: в Java (и в Eclipse, если вам интересно).
Если вы хотите обработать C ++ и сделать это на Java, это может
быть вашим единственным практическим выбором.
Существует также наш интерфейс DMS Software Reengineering Toolkit C ++:
http://www.semdesigns.com/Products/FrontEnds/CppFrontEnd.html
Работает с широким спектром диалектов C ++ (ANSI, GNU, MSVC 2005/2008),
проверено огнем на миллионах строк кода.
Недостаток с вашей точки зрения: не на Java.
Но если вы действительно хотите проанализировать C ++, составив правило
что вы только готовы сделать это на Java, возможно, не
служить вам лучше всего.