2015-04-20 5 views
0

Я довольно новичок в ANTLR. Мне было интересно, как извлечь информацию из файлов проекта.Извлечение информации из Java с использованием ANTLR

Используя грамматику Java, мне нужно извлечь имена пакетов из проекта, затем классы (включая пакет, из которого они происходят), затем методы (включая пакеты и классы, из которых они происходят), и, наконец, переменные и их тип (включая пакет, класс, методы, из которых они исходят).

Любая помощь будет высоко оценена. Спасибо

+1

Можете ли вы показать нам, что вы пробовали до сих пор? – npe

ответ

0

Для того, чтобы узнать, какие типы кода нуждаются, пожалуйста свяжитесь с нами Ф.И.О. и название города.

Это не просто лицо областей (рассмотрим доступ к членам анонимных классов!), Дженериков и правил стирания типов, особенно. со всеми curlicues, добавленными различными версиями Java вплоть до версии 8. Это усугубляется тем фактом, что для реального программного обеспечения инструмент должен читать не только исходные файлы, но и файлы классов для получения информации о типе. Вы не сможете извлечь информацию о типе только с помощью синтаксического анализатора.

Люди продолжают думать, если они имеют чистый парсер, они близки к интересному анализу кода. Анализ составляет Простой часть анализа программы. См. Life After Parsing.

Если вы хотите получить информацию о типе, найдите инструмент, который его уже вычисляет (например, пакет Eclipse Java AST, компилятор Java или какой-либо другой инструмент, специально предназначенный для поддержки анализа и преобразования программ исходного кода).

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