Парсер исходного кода PL/SQL (на Java)

Я ищу исходный парсер общего назначения на Java. Библиотека, которая может помочь мне парсить код PL/SQL. Извлеките функции, процедуры, пакеты и покажите зависимости между ними.


person korro    schedule 24.01.2012    source источник
comment
Вам нужно больше, чем парсер для вычисления зависимостей. См. мое эссе о жизни после синтаксического анализа (www.semanticdesigns.com/Products/DMS/LifeAfterParsing.html).   -  person Ira Baxter    schedule 24.08.2012


Ответы (2)


Попробуйте воспользоваться инструментом ANTLR. Уже существует грамматика PL/SQL. Пожалуйста, потратьте некоторое время на чтение об этом инструменте. Это обязательно должно решить вашу проблему.

person Igor Konoplyanko    schedule 24.01.2012
comment
Конечно? PL/SQL — огромный язык. Не ожидайте, что эта грамматика будет полной. Ожидайте, что реальный код будет содержать каждый бит языка. - person Ira Baxter; 24.08.2012

На GitHub есть plsql-parser, цитата:

Это [почти] полный синтаксический анализатор для языка PL/SQL, который включает в себя Lexer, Parser (который может генерировать абстрактное синтаксическое дерево) и TreeWalker. Текущая версия предназначена для языка Java, но ее можно легко перенести на любой другой язык.

Я заинтересован в переносе структур данных PL/SQL на Java и попробую это сделать в ближайшие недели.

Другим вариантом может быть https://stackoverflow.com/a/6631453/734687, но обратите внимание, что вам необходимо перенести целевой язык от C до Java.

person ChrLipp    schedule 23.08.2012