2012-05-07 4 views
1

Мне нужно извлечь из файлов исходного кода c/C++, имена функций/классов/макросов и их местоположения в их файлах. Мне нужно сделать это в java и над большим количеством файлов (~ 100/150). Как я могу это сделать?Извлечь имена функций из исходного кода c/C++ в java

Так что в основном мне нужно что-то похожее на ctags, но в java.

ответ

6

Проще всего сделать, вероятно, написать обертку Java Native Interface для ctags!

Вы также можете посмотреть finding a C++ parser in Java. Возможно abduct the parser Eclipse uses for syntax highlighting. Написание собственного парсера будет чрезвычайно болезненным, поскольку это не грамматика LALR (я знаю это по опыту).

+0

Я не хотел бы иметь Ctags в зависимости от моего приложения :( я, вероятно, искать парсер C++ в Java, как вы предлагаете. Спасибо :) – ercoppa

+0

Кроме того, вы можете использовать другие инструменты и анализировать результат, например, g ++ или clang ++ для обработки и генерации анализируемого файла. –

Смежные вопросы