проверка файлов sql для пользовательских правил checkstyle
Если вы не хотите создавать собственный синтаксический анализатор antlr для языка, вы можете использовать RegexpSingleline
для создания некоторых базовых правил с помощью регулярных выражений.
Пример конфигурации:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="fileExtensions" value="sql"/>
<module name="RegexpSingleline">
<property name="format" value="ALTER TABLE \w+\.\w+"/>
<property name="minimum" value="0"/>
<property name="maximum" value="0"/>
</module>
</module>
Пользовательский парсер будет включать новый g4 Lexer и Parser, новый класс, который выполняет итерации по узлам (как TreeWalker), класс AST (как DetailAST)базовый класс для всех новых проверок (AbstractCheck), а затем любые новые проверки, которые вы хотите.